본문 바로가기

전체 글160

2023-10-31-TIL 스프링 통합 테스트 이전의 테스트들(참고1, 참고2)은 스프링과는 연관없는 순수한 자바 코드로 테스트하는 것들이었고, 그렇게 해도 괜찮았지만, DB connection 정보 등을 스프링이 들고 있는 직전 노트에 따라 스프링과 엮어서 테스트할 필요가 있다. src/test/java/hello/hellospring/service/MemberServiceIntegrationTest.java : test/service 디렉토리 이하의 MemberServiceTest.java를 복붙 @SpringBootTest package hello.hellospring.service; ... @SpringBootTest @Transactional class MemberServiceIntegrationTest { ... } 스.. 2023. 11. 1.
2023-10-30-TIL 스프링 DB 접근 기술 순수 JDBC → 스프링 JDBC로 발전함: 쿼리를 사용하여 DB에 접근, 데이터 저장/조회/수정 등을 수행함 JPA: 객체를 쿼리 없이 DB에 바로 저장할 수 있는 기술 JPA → 스프링 JPA: JPA를 더 편하게 쓸 수 있도록 스프링으로 한 번 감싼 것 H2 H2 Database Engine → All platform → unzip → bin h2.sh의 권한: 664 ⇒ chmod 755 h2.sh alias 추가: sudo vi ~/.zshrc > alias h2=”h2.sh까지의 경로” source ~/.zshrc →터미널에서 “h2” 입력하여 실행 → “연결” 클릭 “연결 끊기”버튼으로 나갈 수 있음 홈 디렉토리에 test.mv.db가 생성됨 이후부터는, JDBC UR.. 2023. 10. 31.
2023-10-28-TIL 회원 관리 예제 - 웹 MVC 개발 홈 화면 간단히 회원 정보를 등록하기 위한 링크를 가진 웹 사이트를 만들어보자. package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; // src/main/java/hello/hellospring/controller/HomeController.java @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } 사이트에 접속하자마자(@GetMap.. 2023. 10. 31.
2023-10-27-TIL 서비스 만들기 리포지토리와 도메인을 만든 이전 노트에 이어서 오늘은 서비스 부분을 만든다. 서비스란? ”회원은 중복가입이 안 된다” 등의 비즈니스 로직을 말한다. 이번 노트에서는 다음의 비즈니스 로직들을 구현한다. 회원 가입 기능 같은 이름을 가진 회원은 중복으로 보며, 이를 허용하지 않는다. 회원 조회 기능 hellospring 아래에 service 패키지를 만들고 MemberService 클래스를 추가한다; src/main/java/hello/hellospring/service/MemberService.java 회원 서비스를 만들려면, 회원 정보를 담고 있는 도메인 객체인 리포지토리가 필요하다. 리포지토리란? DB와 가장 가까운 쪽에 위치한 객체로서, DB로의 접근, DB에 도메인 객체를 저장하고 관.. 2023. 10. 27.