
[설정] Project: Gradle - Groovy Project Spring Boot: 3.0.5 Language: Java Packaging: Jar Java: 17 Dependencies: Spring Web, Thymeleaf Spri

<span style="color: 클래스간 의존성을 클래스 외부에서 주입하는것 클래스 간에 의존 관계가 있다는 것은 한 클래스가 바뀔 때 다른 클래스가 영향을 받는다는것!만약 의존 관계인 두 클래스가 있는데, 요구사항 변경 등의 이슈로 한 클래스를 변경해야

,,,JAVA @Controller public class HelloController { @GetMapping("hello-api") @ResponseBody public Hello helloApi(@RequestParam("name") String name)
데이터: 회원 ID, 이름 기능: 회원 등록, 조회 아직 데이터 저장소가 선정되지 않았다는 가정하에 진행 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현되는 곳 리포지토리: 도메인 객체를 DB에 저장하고 관리 도메인: 예) 회원, 주문, 쿠폰

회원 Controller가 회원 Service와 회원 Repository를 사용할 수 있게 의존 관계를 준비하자!해당 코드는 MemberController가 MemberService를 사용할 수 있게 의존관계를 추가하는 코드다.만약 코드를 이대로 실행시킨다면 오류가 난

\-> +를 눌러서 새로운 Connections을 만들어서 실행 \-> Connection Name 입력 후 생성\-> 1 클릭 후 2클릭 해서 Schema 생 성하면 끝!또는 \++JPA 사용 할 때
자바의 ORM을 위한 표준 기술Hibernate, Spring JPA등과 같은 구현체가 있고 이것의 표준 인터페이스가 JPA특징기존의 반복 코드와 기본적인 SQL도 JPA가 만들어 실행해줌JPA를 사용하면 SQL과 데이터 중신의 설계에서 객체 중심의 설계도 패러다임을

AOP: Aspect Oriented Programming AOP가 필요한 상황모든 메소드의 호출 시간을 측정하고 싶을 때 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern)회원 가입 시간, 회원 조회 시간을 측정하
<span style="color: Project: Gradle - Groovy Project Spring Boot: 3.0.6 Language: Java Java: 17 Dependencies: Spring Web, thymeleaf,
회원등록조회상품등록수정조회주문주문주문 내역 조회취소기타상품은 재고 관리 필요상품 종류는 도서, 음반, 영화 세 가지상품은 카테고리로 구분상품 주문시 배송 정보 입력회원, 주문, 상품의 관계회원은 여러 상품을 주문할 수 있음주문과 상품은 다대다 관계 (한번 주문시 여러
Entity의 식별자는 id각 클래스는 일부만, PK 컬럼명은 member_id <span style="color:@Table(name="orders") order 이름 그대로 테이블을 이용하면 예약어에 걸리기 때문에 테이블명을 orders로 변경하고 클래스
HashMap의 형태를 갖고 있어, Key, value 값이 있고, addAttribute()와 같은 기능을 통해 모델에 원하는 속성과 그것에 대한 값을 주어 전달할 뷰에 데이터를 전달.
영속성 컨텍스트가 더 관리하지 않는 엔티티를 말함위의 코드에서 itemRepository.findOne(itemId);라는 코드를 보면, itemId는 repository에서 한번 저장되어 있는 값을 다시findItem이라는 참조변수에 저장하는 걸 볼 수 있다. 이렇게
실무에서는 엔티티를 API 스펙에 노출하면 안된다!→ Member entity에 제약 조건을 걸어두지 않았기 때문에 데이터를 입력하지 않고 send 해도 null로 데이터가 입력됨따라서 Member entity에 @NotEmpty 제약 조건을 준다!@NotEmpty와
엔티티가 직접 노출되기 때문에 좋지 않다.order → member와 order → address는 지연로딩이므로 프록시가 존재 → jackson은 프록시 객체를 json으로 생성하는 법 모름 → 예외 발생 ⇒ Hibernate5Module을 스프링 빈으로 등록하여
계층간 데이터 교환 역할을 하는 데이터 객체 →각 클래스 및 인터페이스를 호출하면서 전달하는 매개변수로 사용되는 데이터 객체 Entity를 Controller 같은 클라이언트단과 직접 마주하는 계층에 직접 전달하는대신 DTO를 사용해 데이터를 교환\*DTO는 계