스프링 프레임워크-입문
-
23강. JPA스프링 프레임워크-입문 2021. 5. 6. 15:51
Jdbc Templatae를 사용하면 어느정도 코드의 반복정인 양을 줄일 수 있습니다. 하지만 우리가 줄이지 못한 것이 하나 있습니다. 바로 개발자가 SQL 구문을 직접 작성을 해야한다는 점입니다. JPA를 사용하면 SQL 쿼리를 자동으로 처리를 해줍니다. 즉 개발 생산성을 크게 올릴 수 있습니다. JPA를 사용하면 단순히 SQL과 데이터 중심의 설계에서 객체 중심의 설계로 패러다임을 전환할 수 있습니다. JPA와 MyBatis를 비교한 것입니다. 글로벌적으로는 JPA가 압도적으로 높습니다. MyBatis의 비중은 중국과 한국이 맡은 파트입니다. Spring과 JPA는 각각 엄청난 깊이가 있는 학문입니다. 배우는 시간이 오래걸리는 것은 당연한 것입니다. JPA를 사용하기 위해서 의존성을 추가해주겠습니다...
-
22강. 스프링 Jdbc Template스프링 프레임워크-입문 2021. 5. 6. 11:14
JdbcTemplate과 MyBatis 같은 라이브러리는 JDBC API에서 반복코드를 대부분 제거해줍니다. 하지만 SQL은 직접 생성해야합니다. JdbcMemberTemplateRepository 클래스를 생성하도록 하겠습니다. implement를 하고 메소드들을 구현하겠습니다, 이러한 코드를 구현해줍니다. * 생성자가 단 하나일 때는 @Autowired를 생략할 수 있습니다. 이러한 코드를 추가해줍니다. 우리는 위의 코드를 람다로 변경하겠습니다. (인텔리제이의 자동완성을 사용) * 세미콜론이 빠져있어 에러가 나는 것이기에 추가해줍니다. findById를 변경해줍니다. JDBC 코드랑 비교하면 엄청나게 단 두줄로 줄일 수 있는 것을 볼 수 있습니다. 이제 save()메서드를 추가하겠습니다. findBy..
-
21강. 스프링 통합 테스트스프링 프레임워크-입문 2021. 5. 6. 10:48
스프링 컨테이너와 DB까지 연결한 통합 테스트를 진행해보겠습니다. MemberServiceIntegrationTest 클래스를 생성하도록 합니다. MemberServiceTest를 돌릴 때 DB까지 동작하게 함으로서 MemberServiceTest 코드처럼 순수 자바 코드가 아니고 SpringBoot가 들고 있는 DB에 관한 코드까지 사용해보겠습니다. 코드의 내용은 MemberServiceTest와 동일합니다. Spring이 테스트하기 위해서 위의 2가지 어노테이션을 추가해줍니다. 그 후 @BeforeEach에 해당되는 구문을 삭제하겠습니다. 우리는 스프링 컨테이너로부터 DI를 받아 진행할 것입니다. 생성자를 통한 DI가 가장 좋은 것이지만 Test 코드는 개발의 끝단이기에 편한 방식인 @Autowire..
-
20강. 순수 JDBC스프링 프레임워크-입문 2021. 5. 6. 10:13
애플리케이션에서 DB를 연결해보는 기술인 JDBC를 사용해보겠습니다. JDBC는 매우 오래된 기술입니다. 자바는 DB랑 연결을 하려면 JDBC 드라이버가 꼭 있어야 합니다. 그리고 H2 라이브러리를 추가해주도록 하겠습니다. DB에 접속하기 위한 접속 정보입니다. (url, dirver-class-name, username, password) 이정도를 입력을 해야합니다. 이제는 DB를 설정했기 때문에 MemoryRepository의 구현체를 만들어야 합니다. 그래서 JdbcMemoryRepository를 만들도록 하겠습니다. 인터페이스를 구현한 후 메소드를 오버라이드 했습니다, 시간이 상당히 소요되기 때문에 우리는 복사 붙여넣기를 하면서 진행하도록 하겠습니다. DB와 연결하기 위해서는 DataSource를..
-
19강. H2 데이터베이스 설치스프링 프레임워크-입문 2021. 5. 5. 13:59
이전까지 했던 것은 메모리에 저장을 했기 때문에 서버가 내려가면 다 데이터가 내려갑니다. 실무에서는 DB를 통해서 저장을하게 됩니다. 우리는 간단한 DB인 H2를 설치하고 DB와 연결하는 JDBC 기술을 배워보도록 하겠습니다. (JDBC의 순수한 기술을 체험해보도록 하겠습니다.) Spring이 JDBC 템플릿을 제공하는데 JDBC를 사용하는 것보다 편리해졌습니다. 그 이후 JPA가 등장해 SQL도 개발자가 직접 처리하지 않도록 가능해졌습니다. 실무에서는 MySQL 계열이라고 불리는 DB들을 많이 사용하게 될 것입니다. www.h2database.com/html/main.html H2 Database Engine H2 Database Engine Welcome to H2, the Java SQL datab..
-
18강. 회원 웹 기능 - 조회스프링 프레임워크-입문 2021. 5. 5. 13:30
MemberController에 들어가서 아래의 코드를 추가합니다. 레포지토리에 저장되어 있는 것을 meberService의 findeMembers()로 가져와 modl에 "members": mebers객체로 넘겨주어 members/memberList에서 model을 통한 출력을 해보도록 하겠습니다. memberList.html을 생성합니다. 그 후 내용을 추가하겠습니다. # 이름 서버를 재구동 시켜주도록 하겠습니다. 회언 목록이 정상적으로 출력이 되는 것을 확인할 수 있습니다. 그 후 2명을 가입시켜보겠습니다. 그러면 회원 목록을 들어갔을 때 정상적으로 보여야할 것입니다. 테스트를 해보겠습니다. 우리는 타임리프가 어떻게 작동되는가를 확인해보기 위해 아래의 코드에 집중하겠습니다. model에 있는 meb..
-
17강. 회원 웹 기능 - 등록스프링 프레임워크-입문 2021. 5. 5. 13:12
우선 MemberController에 들어가도록 합니다. 전 장에서 설정한 링크를 연결해줍니다. 그 후 resources>template에 members라는 디렉터리를 생성해줍니다. 그 후 우리가 설정한 createMemberForm.html을 생성해주도록 하겠습니다. 이름 등록 서버를 재 구동 시키고 회원 가입 링크에 들어가게 되면 정상적으로 출력이 되는 것을 확인할 수 있습니다. name이라는 key와 spring이라는 value가 서버로 넘어가게 됩니다. 지금은 이 이후가 구현되어 있지 않아 등록 버튼을 눌러도 에러가 발생합니다. controller 패키지에서 MemberForm을 생성하도록 합니다. 이러한 코드를 완성을 합니다. createMemberForm.html의 name과 MemberFor..
-
16강. 회원 관리 예제 - 웹 MVC 개발스프링 프레임워크-입문 2021. 5. 5. 12:46
Controller 패키지에 HomeController를 생성하도록 하겠습니다. 이러한 코드를 작성할 것 입니다. "/"는 dom의 시작 localhost:8080으로 접근했을 떄 일로 들어오게 됩니다. 그 후 resources>templates에 home.html을 만듭니다. Hello Spring 회원기능 회원가입 회원목록 이러한 코드를 만들어 입력해줍니다. 그 후 서버를 실행해주록 하겠습니다. 정상적으로 home.html이 실행이 됨을 알 수 있습니다. 회원가입 링크와 회원 목록을 눌러도 아직은 연결이 되는 htnl 이 없습니다. 컨트롤러끼리도 우선순위가 있는데 먼저 들어온 곳에서 찾고 매핑된게 있으면 불러옵니다.