Spring
스프링 입문 - 스프링 JdbcTemplate
스프링 입문 - 스프링 JdbcTemplate
2022.05.22우선 설정은, 순수 Jdbc 를 공부할 때 했던 것과 동일하게 환경설정 하면 된다. 이렇게 해 주었다. 스프링 JdbcTemplate는 MyBatis와 비슷한 라이브러리인데, 이것들은, JDBC API에서의 반복적인 코드를 대부분 제거해준다. 하지만 SQL은 직접 작성해야 한다. 우선, JdbCTemplateMemberRepository라는 이름으로 클래스를 생성했다. 그리고 implements MemberRepository를 한다. 그리고 MemberRepository의 메서드를 오버라이딩 한다. 이제 코드를 작성해보자. 먼저, JdbcTemplate이 있어야 한다. 그리고 얘는 인젝션을 받을 수 없기 때문에 DataSource로 인젝션을 받아야 한다. 이렇게 작성해주면 된다. 그리고 참고로, 생성자가..
스프링 입문 - 스프링 통합 테스트
스프링 입문 - 스프링 통합 테스트
2022.05.22이전시간에 만들었던 JdbcMemberRepository는 DB까지 연결이 된다. 그러면, 테스트도 스프링까지 다 올리고 DB까지 연결해서 동작하는 통합 테스트를 해보아야 한다. 스프링 통합 테스트를 해보자. 이전에 했던, 이런 테스트 들을 보면, 전혀 스프링과 관련이 없는 테스트들이다. 순수한 Java코드를 가지고 테스트 한 것이다. 그런데, 지금은 순수한 Java코드만 가지고 테스트 할 수 없다. 왜냐하면, 데이터베이스 커넥션 정보도 스프링 부트가 들고있고 그러기 때문이다. 그래서 지금부터는, 테스트를 스프링과 엮여서 해볼 것이다. 우선, 기존에 만들어 두었던, MemberServiceTest를 살펴보자. 이 테스트는 메모리에 저장하는 테스트이기 때문에 Java뜨는 시간만 제외하면 거의 시간소요가 없..
스프링 입문 - 순수 JDBC
스프링 입문 - 순수 JDBC
2022.05.20애플리케이션에서 DB에 연동을 해서 저장하는 것을 해볼 것이다. 기존처럼 Memory에 저장하지 않고, 데이터베이스에 insert쿼리, slect쿼리를 날려서 넣고 빼는 것을 해보자. 이번시간에는, 정말 오래된 JDBC방식으로 해볼 것이다. (아! 예전에는 이렇게 했구나.. 정도로 알면 될 것이다.) 먼저, build.gradle파일에 jdbc, h2 데이터베이스 관련 라이브러리를 추가해야 한다. build.gradle 파일에 jdbc, h2 데이터베이스 관련 라이브러리를 추가해 주었다. implementation 'org.springframework.boot:spring-boot-starter-jdbc' runtimeOnly 'com.h2database:h2' 코드를 보면, 'spring-boot-st..
스프링 입문 - H2 데이터베이스 설치
스프링 입문 - H2 데이터베이스 설치
2022.05.20H2 데이터베이스 설치 H2데이터 베이스는 개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면을 제공한다. Archive Downloads www.h2database.com 해당 버전을 설치하고, 압축을 푼 뒤, 생성된 h2파일의 bin파일 위치로 터미널cd하자. h2.sh 라는 이름의 실행파일이 있다. Mac기준으로, 우선, 해당 파일을 실행하는 권한을 줘야한다. chmod 755 h2.sh 그다음, 실행을 해보자. (터미널 현재 위치가, bin 일때 기준) ./h2.sh 만약에 데이터베이스가 정상적으로 생성되지 않으면, 아래 절차를 시행해보자. 자 다시 돌와와서. 실행이 완료 되었다. 최초에는 데이터베이스 파일 이라는 것을 만들어야 한다. 그래서 어떻게 해야하냐면, 경로를 "jdbc:h2:~/tes..
스프링 입문 - 회원 웹 기능 - 조회
스프링 입문 - 회원 웹 기능 - 조회
2022.05.20이번 시간에는 회원 웹 기능 - 조회 를 만들어 보자. 이제 회원 목록을 눌렀을때 동작하도록 만들면 된다. 회원 목록 링크를 누르면, localhost:8080/members로 이동하도록 해 두었었다. MemberController에 코드를 작성해 보자. 회원 목록 링크를 누르면, localhost:8080/members로 가게 해두었으므로, @GetMapping("/members") 을 해준다. public String List(Model model) { List members = memberService.findMembers(); model.addAttribute("members", members); return "members/memberList"; } public String List(Model ..
스프링 입문 - 회원 웹 기능 - 등록
스프링 입문 - 회원 웹 기능 - 등록
2022.05.19이번시간에는 회원 웹기능 - 등록을 만들어 보자. MemberController에 빨간 네모 코드를 작성해주었다. return은 members/createMemberForm으로 이동하도록 하겠다. @GetMapping("members/new") 에서 /members/new 로 한 이유는, 이전에 작성해둔 home.html에서 /members/new 로 이동하도록 설정했기 때문이다. 그리고, templates 폴더 안에 members라는 폴더를 만들고, createMemberForm이라는 이름으로 html을 만들었다. 회원등록폼 HTML은 강의코드를 복사헀다. run을 시켜보자 회원 가입을 누르면, members/new로 들어가진다. 소스코드 보기를 하면, 이렇게 방금 복사해서 작성한 html이 랜더링이 ..