Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 책리뷰
- 회고
- 스터디
- 함수형 코딩
- 정보처리기사
- post
- 2020년 제4회 정보처리기사 필기 문제 분석
- 주간회고
- Python
- 뇌정리
- 미니프로젝트
- 성적프로그램
- LeetCode
- java
- jsp
- git
- sqldeveloper
- Real MySQL
- 서평
- 2020년 일정
- 코드숨
- 필기
- Jackson
- hackerrank
- 알고리즘
- 2020년 정보처리기사 4회
- 항해99
- algorithms
- If
- Til
Archives
- Today
- Total
조컴퓨터
Lombok 과 최신 트랜드 본문
1) 생성자에 final 키워드 사용(생성자 1개라 @Autowired 생략한 형태)
@Component
public class OrderServiceImpl implements OrderService {
private final MemberRepository memberRepository;
private final DiscountPolicy discountPolicy;
public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) {
this.memberRepository = memberRepository;
this.discountPolicy = discountPolicy;
}
}
2) Lombok 라이브러리 적용
plugins {
id 'org.springframework.boot' version '2.6.2'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
//lombok 설정 추가 시작
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
//lombok 설정 추가 끝
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
//lombok 라이브러리 추가 시작
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
//lombok 라이브러리 추가 끝
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}
1. Preferences(윈도우 File → Settings) → plugin → lombok 검색 설치 실행 (재시작)
2. Preferences → Annotation Processors 검색 → Enable annotation processing 체크 (재시작)
3. 임의의 테스트 클래스를 만들고 @Getter, @Setter 확인
3) @RequiredArgsConstructor 기능을 활용하여 final 이 붙은 필드를 모아 생성자를 자동으로 생성
@Component
@RequiredArgsConstructor
public class OrderServiceImpl implements OrderService {
private final MemberRepository memberRepository;
private final DiscountPolicy discountPolicy;
}
'공부 > Spring' 카테고리의 다른 글
Bean Scope - singleton, prototype, request (0) | 2022.01.22 |
---|---|
빈 생명주기 콜백 - @PostConstruct, @PreDestroy, @Bean (0) | 2022.01.21 |
@Primary, @Qualifier 우선순위 (질문 및 숙제) (0) | 2022.01.21 |
의존관계(DI) 자동 주입 - 생성자 주입, 수정자 주입, 필드 주입 (0) | 2022.01.20 |
isSameAs, isEqualTo 비교 (0) | 2022.01.20 |