250x250
Notice
Recent Posts
Recent Comments
Link
코린이의 기술 블로그
의존 관계 / 생성자 인젝션 / Setter 인젝션 본문
의존 관계 ? 자동 설정 모드를 통하여 빈을 설정하는 방법 <bean> 요소의 autowire 속성으로 "모드" 지정
- byName : 프로퍼티 이름에 의해 자동 설정, 빈의 "name","id" 가 있으면 자동 설정
- byType : 프로퍼티 설정에 의해 자동 설정, 프로퍼티의 타입과 일치하는 빈의 "name","id" 가 있으면 자동 설정
- constructor : 생성자 파라메타 타입을 이용한 자동 설정, 의존 관계 자동 설정
- autodetect : constructor 먼저 적용하고, constructor적용 할 수 없는 경우 byType 을 이용한 의존 관계 자동 설정
- no : 기본 값, 자동 설정하지 않는다.
자동 설정의 단점 ?
명시적인 설정보다 정확하지 않다.
단일 값을 갖는 의존성이 모호할 경우 임의로 처리되지 않으며, 유일한 빈 정의를 찾지 못하면 예외가 발생합니다.
의존성 관계 ?
객체와 객체의 결합 관계
생성자 인젝션 ?
기본적으로 매개변수가 없는 기본 생성자를 호출 합니다.
하지만 컨테이너가 기본 생성자 말고 매개변수를 가지는 다른 생성자를 호출 하도록 설정할 수 있는데 이기능을 이용하여, 생성자 인젝션을 처리 합니다.
(1) 다중 변수 매핑 : 초기화 해야 할 변수가 여러개이면, 여러개의 값을 한꺼번에 전달
(2) 의존관계 변경 : 유지 보수 과정에서 의존성 주입
Setter 인젝션 ? Setter 메서드를 호출하여, 의존성 주입 처리하는 방법입니다.
(1) Setter 인젝션 기본 : 기본 생성자 반드시 필요
(2) p 네임스페이스 사용
p:변수명-ref="참조 객체 아이디나 이름"
p:변수명="설정 값"
Collection ?
(1) List 타입 매핑 : <list>태그 사용하여 설정
(2) Set 타입 매핑 : <set> 태그 사용하여 설정
(3) Map 타입 매핑 : 특정 key로 데이터 등록, 사용 <map>태그 사용하여 설정
(4) Properties 타입 매핑 : key=value 데이터 저장, 사용 <props> 엘리먼트 사용 설정
728x90
'Java Web' 카테고리의 다른 글
스프링 AOP (0) | 2021.11.12 |
---|---|
스프링 어노테이션 (0) | 2021.11.11 |
DI(Dependency Injection) (0) | 2021.11.09 |
스프링 컨테이너 (0) | 2021.11.08 |
IoC(Inversion of Control) 컨테이너 (0) | 2021.11.07 |
Comments