일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Exception
- AOP
- java
- Servlet
- 인프런
- 스프링 핵심 기능
- Spring Boot
- pointcut
- Android
- JDBC
- spring
- Proxy
- JPQL
- http
- 알고리즘
- SpringBoot
- kotlin
- 스프링
- Greedy
- transaction
- jpa
- 김영한
- QueryDSL
- 그리디
- db
- 백준
- springdatajpa
- 스프링 핵심 원리
- 자바
- Thymeleaf
- Today
- Total
목록생성자 주입 (2)
개발자되기 프로젝트
최근에는 대부분 생성자 주입을 권장해! 여러가지 이유가 있다. 1. 불변 대부분의 의존관계 주입은 변경할 일이 없다. 오히려 대부분의 의존관계는 애플리케이션 종료 전 까지 변하면 안된다! 수정자 주입을 사용하면, setXXX를 public으로 열어둬야함. 누군가 변경할 수 도 있고,,, 변경하면 안되는 것을 열어두는 것 은 좋지않아.. 생성자 주입을 객체 생성할 때 딱! 1번만 호출됨! 이후에 호출될 일 없음!!! 따라서 불변하게 설계가 쌉가능 2. 누락 프레임 워크 없이 순수한 자바 코드를 단위 테스트 하는 경우에.... 코드만 보면 의존관계를 확인하기 어렵다. Setter 주입을 사용하면.. 코드를 직접 안까지 까보거나, 컴파일을 해야 확인이 가능하다. 하지만 생성자 주입을 사용하면 의존관계를 주입 ..
1. 의존관계 주입 방법 생성자 주입 수정자 주입(setter 주입) 필드 주입 일반 메서드 주입 2. 생성자 주입. ???? : @Autowired가 있네? 컨테이너에서 같은 타입의 빈 꺼내옴. 집어넣음 특징 - 생성자 호출 시점에 딲 1번 만 호출되는 것이 보장됨. - 불변, 필수 의존관계에 사용--> set을 public으로 열어두면 안됨 (getter, setter 막만들면 안됨!) @Component public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; //private final DiscountPolicy discountPolicy = new RateDiscoun..