엠마의 개발공부일지

@RequiredArgConstructor 사용하기 (+인텔리제이 롬복(lombok)라이브러리 추가하기) 본문

Stack/Java

@RequiredArgConstructor 사용하기 (+인텔리제이 롬복(lombok)라이브러리 추가하기)

Emmababy 2020. 12. 11. 22:48
728x90

 

 

서비스/리포지토리/도메인을 작성하고, 스프링에서 DI를 이용하여 초기세팅을 할때

SOLID의 DIP(구현체가아닌 인터페이스에 의존)가 지켜지도록하기위해 생성자로 구현체를 넣어주었다.

이 코드만으로도 너무 깔끔하지만, 한단계 더 편하고 깔끔하게 코드를 정리할 수 있다. 

 

 

 

생성자 주입하려는 클래스에 @RequiredArgsConstructor를 추가하면 윗부분에 Lombok라이브러리가 추가된다.

이 상태에서는 @RequiredArgsConstructor부분에 빨간줄이 그어지는데, 이는 밑에 @Autowired가 붙은 생성자가 있기때문이다(중복)

 

@RequiredArgsConstructor는 final이 붙은 필드들의 생성자를 자동으로 만들어주는기능이다. 

그래서 생성자와 충돌이되기때문에 빨간줄이 뜬다

 

아래와 같이 생성자부분을 지워주면 빨간줄은 사라진다.

 

 

 

 

 

 

 

[인텔리제이에 롬복라이브러리 추가하는방법]

0. 다운로드 및 설정

setting > plugins > lombok 검색하여 다운로드 Build, Execution,Deployment > Compiler >
Annotation Processors > Enable annotation processing체크!

 

1. build.gradle 열기

 

2. 아래의 configurations정보 추가

configurations { 
	compileOnly { 
    	extendsFrom annotationProcessor
    }
}

 

3. 같은페이지 아랫쪽에 dependencies안에 lombok라이브러리 추가

compileOnly 'org.projectlombok:lombok'
 annotationProcessor 'org.projectlombok:lombok'
 testCompileOnly 'org.projectlombok:lombok'
 testAnnotationProcessor 'org.projectlombok:lombok'

 

 

4. 새로고침하기

 : 오른쪽 위쪽에 Gradle창 열어서

새로고침을 누르면 끝!

 

 

5. 추가되었는지 확인하기!

 - External Libraries에서 확인가능함

- 라이브러리 리스트에 ctrl F로 lombok이 있는지 확인하기

 

 

 

 

 

[출처] 인프런 - 스프링 핵심원리(기본편) www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/lecture/55490?tab=curriculum

728x90
Comments