Framework/Spring Boot 75

lombok 사용

lombok을 의존성에 추가하는 방법은 2가지다. 참고 👉 https://projectlombok.org/setup/gradle 1. plugin plugins { id "io.freefair.lombok" version "6.6.1" } 2. 컴파일 중에만 lombok을 추가하도록 compileOnly scope 사용 repositories { mavenCentral() } dependencies { compileOnly 'org.projectlombok:lombok:1.18.24' annotationProcessor 'org.projectlombok:lombok:1.18.24' testCompileOnly 'org.projectlombok:lombok:1.18.24' testAnnotationProc..

JPA

Refactor->Inline method 또는 ctrl+Alt+n하면 긴 코드를 줄여줌. select m으로 객체 자체를 select한다. 저장, 조회, 업데이트는 짤 필요 없음. JPA는 저장거나 변경할 때 항상 transaction이 있어야 함. JPA는 기존의 반복 코드는 물론이고, 기본적인 SQL도 JPA가 직접 만들어서 실행해줌. SQL과 데이터 중심의 설계애서 객체 중심의 설계로 패러다임을 전환 할 수 있음. 개발 생산성을 크게 높임. build.gradle의 dependencies에 implementation 'org.springframework.boot:spring-boot-starter-data-jpa'추가 @Entity를 붙이면 JPA가 관리하는 entity구나 알 수 있다. PK인 ..

스프링 빈과 의존관계

스프링 빈과 의존관계 컴포넌트 스캔과 자동 의존관계 설정 자바 코드로 직접 스프링 빈 등록 1. 컴포넌트 스캔과 자동 의존관계 설정 @Component @Controller @Service @Repository 애노테이션이 붙으면 스프링 빈으로 자동 등록 생성자에 @Autowired가 있으면 객체 생성 시점에 스프링 컨테이너에서 해당 스프링 빈을 찾아서 주입 객체 의존관계를 외부에서 넣어주는 것을 DI(Dependency Injection) DI에는 필드, 주입 setter 주입, 생성자 주입 이렇게 3가지가 있음. 의존관계가 실행중에 동적으로 변하는 경우는 없으므로 생성자 주입을 권장!!!!! 실무에서는 주로 정형화된 컨트롤러, 서비스, 리포지토리 같은 코드는 컴포넌트 스캔을 사용. 그리고 정형화되지 ..