250x250
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 | 31 |
Tags
- 코딩테스트
- 오버라이딩
- 인터페이스
- 김영한
- equals()
- ocp
- 테스트코드
- 스프링컨테이너
- 코드트리
- java
- 참조변수
- 프록시
- html form
- 다형성
- objecterror
- @configuration
- http 메시지 컨버터
- JSON
- 오블완
- 싱글톤
- 티스토리챌린지
- 추상클래스
- 백준
- HttpServletResponse
- fielderror
- 의존관계
- 코드트리조별과제
- DI
- 서블릿
- 스프링
Archives
- Today
- Total
minOS
의존관계 자동 주입(4) - Lombok과 최신 트렌드 본문
728x90
롬복 프로젝트에 추가하는 법
https://devgoat.tistory.com/14
생성자 주입은 전부 불변이고, 생성자에 final 키워드를 사용하고, 생성자를 만들고, 주입받는 코드를 만들어야한다.
@Component public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository ; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRepository,DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; } }
해당 코드는 최적화 할 수 있다.
https://onepunchprogram.tistory.com/54
스프링 빈에서 생성자가 한개이면 @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; } }
롬복 적용
- 롬복 라이브러리가 제공하는 @RequiredArgsConstructor 기능을 사용하면 final이 붙은 필드를 모아서 생성자를 자동으로 만들어준다.
- 매우 간결하다.
최종코드이 최종 코드와 이전의 코드는 완전히 동일하다. 롬복이 자바 애노테이션 프로세서라는 기능을 이용해서 컴파일 시점에 생성자 코드를 자동으로 생성해준다.@Component @RequiredArgsConstructor //final이 붙은 필드값에 대해 생성자를 만들어줌 public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository ; private final DiscountPolicy discountPolicy; }
정리
최근에는 생성자를 1개 두고 , @Autowired를 생략하는 방법을 주로 사용한다. 여기에 Lombok라이브러리의 @RequiredArgsConstructor 함께 사용하면 기능은 다 제공하면서, 코드는 깔끔하게 사용할 수 있다.
728x90
'TIL > 김영한의 스프링 핵심 원리' 카테고리의 다른 글
의존관계 자동 주입(6) - 애노테이션 만들기 (0) | 2024.04.23 |
---|---|
의존관계 자동 주입(5) - 조회된 빈이 2개 이상일때 문제점과 해결 방법 (0) | 2024.04.22 |
의존관계 자동 주입(3) - 생성자 주입 (0) | 2024.04.16 |
의존관계 자동 주입(2) - 옵션 처리 (0) | 2024.04.10 |
의존관계 자동 주입(1) - 다양한 의존관계 주입 방법 (0) | 2024.04.06 |