본문 바로가기
Spring/spring 원리

Lombok사용하여 의존관계 주입하기

by 킹차니 2021. 6. 20.
김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다.
https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C

 

 

 

롬복 사용 전에,  인텔리제이에서 롬복 플러그인을 설치 후

위의 연두색 동그라미 부분을 체크해주는 것을 잊지 말자.(annotation processors라고 검색하면 된다.)

 

롬복은 어노테이션 하나만으로 코드작성의 수고를 크게 덜어준다.

helloLombok이라는 하나의 클래스를 만들어 테스트 해보자.

클래스 위에 @Getter@Setter @ToString이라는 롬복에서 제공하는 어노테이션이 보인다.

위의 어노테이션이 있으면 

Setter, Getter, ToString메소드를 만들어준다. 분명히 setter, getter를 만들지 않았는데, setName과 setAge가 되는 것을 볼 수 있다.

그리고 @ToString을 붙여주었으므로, 출력을 하면 클래스@주소값이 출력되는 것이 아니라, 다음과 같이 출력된다.

 

이제 MemberServiceImpl과 OrderServiceImpl에도 적용해보자.

Before(MemberServiceImpl)

(참고로 생성자 주입시 @Autowired는 생략 가능)

After

 

다음은 OrderServiceImpl

Before(OrderServiceImpl)
After(OrderServiceImpl)

@RequiredArgsConstructorfinal이 붙은 필드를 가지고 생성자를 만들어준다. 어차피 객체들을 bean으로 등록하고, 의존관계를 주입할 때  객체들이 바뀔 일은 거의 없으므로, final을 붙여주는데, 이때 같이 @RequiredArgsConstructor를 사용하면 참 편리할 것 같다.

코드의 가독성면에서도 좋다.