인프런/실전! 스프링부트와 JPA활용14 끝) 웹 어플리케이션 개발 [ 웹 계층 ] 홈 화면과 레이아웃홈 컨트롤러 등록 @Controller@Slf4jpublic class HomeController { @RequestMapping("/") public String home() { log.info("home controller"); return "home"; }} [타임리프 사용]Home.html HELLO SHOP 회원 기능 회원 가입 회원 목록 상품 기능 상품 등록 상품 목록 주문 기능 상품 주문 .. 인프런/실전! 스프링부트와 JPA활용1 2024. 6. 7. 3) 웹 어플리케이션 개발 [회원,상품,주문 도메인] 회원 기능 회원 등록회원 조회 상품 기능상품 등록상품 수정상품 조회 주문 기능 상품 주문주문 내역 조회주문 취소 예제를 단순화 하기 위해 다음 기능은 구현X 로그인과 권한 관리X파라미터 검증과 예외 처리X상품은 도서만 사용카테고리는 사용X배송 정보는 사용X 애플리케이션 아키텍처 계층형 구조 사용controller, web: 웹 계층service: 비즈니스 로직, 트랜잭션 처리repository: JPA를 직접 사용하는 계층, 엔티티 매니저 사용domain: 엔티티가 모여 있는 계층, 모든 계층에서 사용 패키지 구조jpabook.jpashop-domain-exception-repository-service-web 개발 순서: 서비스, 리포지토리 계층을 개발하고, 테스트 케이스를 작성해서 검증.. 인프런/실전! 스프링부트와 JPA활용1 2024. 6. 7. 2) 도메인 분석 설계 요구사항 분석 도메인 모델과 테이블 설계 회원, 주문, 상품의 관계 회원은 여러 상품을 주문할 수 있다.그리고 한 번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계다.하지만 이런 다대다 관계는 관계형 데이터베이스는 물론이고 엔티티에서도 거의 사용하지 않는다. 따라서 그림처럼 주문상품이라는 엔티티를 추가해서 다대다 관계를 일대다, 다대일 관계로 풀어냈다. 상품 분류 상품은 도서, 음반, 영화로 구분되는데 상품이라는 공통 속성을 사용하므로 상속 구조로 표현했다. 회원 엔티티 분석 회원(Member) 이름과 임베디드 타입인 주소( Address ), 그리고 주문( orders ) 리스트를 가진다[회원이 오더리스트를 가지고있는것은 좋은 설계가 아니다. 일반적으로는 단방향으로 .. 인프런/실전! 스프링부트와 JPA활용1 2024. 6. 5. 1)프로젝트생성,설정, 테스트 https://start.spring.io/ 롬복설치 시 주의사항 View 환경설정타임리프는 라이브러리 설치만하면 스프링부트가 알아서 환경설정 다 해준다. 타임리프 동작확인하기 HelloController@Controllerpublic class HelloController { @GetMapping("hello") //@GetMapping은 @RequestMapping(method = RequestMethod.GET)라는 어노테이션을 포함하고있다, hello라는 request가 들어오면 아래 메소드실행 public String hello(Model model) { //모델이라는것에 데이터를 실어서 뷰에 넘길수있다. model.addAttribute("data","hello!!").. 인프런/실전! 스프링부트와 JPA활용1 2023. 1. 12. 이전 1 다음