본문 바로가기

Spring30

[Spring Boot + JPA] 웹 어플리케이션 개발 - 4. 웹 계층 개발 웹 계층 개발 웹 계층 개발 1. 홈화면과 레이아웃 2. 회원 등록 3. 회원 목록 조회 4. 상품 등록 5. 상품 목록 6. 상품 수정 7. 변경 감지와 병합(merge) 8. 상품 주문 9. 주문 목록 검색, 취소 📌 홈 화면과 레이아웃 홈 컨트롤러 등록 @Controller @Slf4j public class HomeController { @RequestMapping("/") public String home() { log.info("home controller"); return "home"; } } 📌 회원 등록 폼 객체를 사용해서 화면 계층과 서비스 계층을 명확하게 분리한다. 회원등록 폼 객체 @Getter @Setter public class MemberForm { @NotEmpty(messa.. 2023. 4. 7.
[Spring Boot + JPA] 웹 어플리케이션 개발 - 3. 도메인 개발 회원 도메인 개발 구현 기능 회원 등록 회원 목록 조회 회원 리포지토리 개발 MemberRepository.java @Repository public class MemberRepository { @PersistenceContext private EntityManager em; // 스프링이 엔티티매니저를 만들어서 주입해준다. // 회원 정보 저장 public void save(Member member) { em.persist(member); } // 회원 조회 public Member findOne(Long id) { return em.find(Member.class, id); } // 회원 목록 조회 public List findAll() { return em.createQuery("select m f.. 2023. 4. 6.
[Spring Boot] 테스트 환경 application.yml 분리 STS에서 테스트 코드 작성 중 테스트 실행환경을 분리하기 위해 test/resources 경로에 application.yml 파일을 생성하였다. JUnit5 테스트 실행 시 test/resources 경로에 application.yml 파일을 생성하였는데도 불구하고 해당 파일을 인식하지 못하고 main/resources 경로의 resources application.yml 파일로 실행되었다. ??? 찾아보니 intelliJ는 테스트에서 실행하면 test/resources/application.yml을 먼저 읽게되지만 다른 IDE에서는 아닌 것 같다. intelliJ가 아닌 타 IDE에서는 다음과 같은 추가 설정이 필요하다. 1. application.yml 추가 설정 (main/resources/app.. 2023. 4. 5.
[Spring Boot + JPA] 웹 어플리케이션 개발 - 2. 애플리케이션 구현 준비 애플리케이션 구현 준비 구현 요구사항 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 예제를 단순화 하기 위해 다음 기능은 구현X 로그인과 권한 관리X 파라미터 검증과 예외 처리X 상품은 도서만 사용 카테고리는 사용X 배송 정보는 사용X 애플리케이션 아키텍처 계층형 구조 사용 Controller, web : 웹 계층 Service : 비즈니스 로직, 트랜잭션 처리 Repository : JPA를 직접 사용하는 계층, 엔티티 매니저 사용 Domain : 엔티티가 모여 있는 계층, 모든 계층에서 사용 패키지 구조 jpaBook.jpaShop domain exception repository service web 개발 순서 : 서비스,.. 2023. 4. 5.