SPRING

DI XML / 의존 관계 설정 2 (property 방식)

nang. 2019. 3. 19. 00:52
반응형
SMALL

# 의존 관계 설정 2 - property 방식 = setter 방식 <property>


- setter 메소드 통해 의존 객체 주입

- Bean class에 property에 대한 setter 메소드가 정의되어 있어야 함

---> 그니까 걍 필드건 뭐건 세터 메소드 정의하라는 뜻

- 클래스에(.java) 이 방식이면 생성자는 없어도 되는데 기본 생성자는 있어야 함

ex) public Instrumentalist() {}

- 필드 정의하고 바로 setter


* 효과

- 컨테이너는 property로 전달할 의존 객체(B)를 먼저 생성

(생성자 방식은 A 먼저 생성)...?



https://conanglog.tistory.com/16?category=320753 

- 객체가 먼저 만들어져 있어야(기본 생성자가 있어야하는 이유) property 통해 값을 담아서 전달하고 그게 setter에 갈 수 있다.

==> 생성자 방식과의 차이점

==> 생성자 방식은 동시에, 이 방식은 객체 먼저 생성 후

- 역시 파라미터 마다 각자 <property></property> 해줘야 함

- 주입없이 초기값을 사용하려면 <property> 안해도 되고

- 이름에 맞는  setter로 들어가기때문에 순서 상관 X









# p 네임스페이스를 이용한 설정 = <property> 쓴거랑 같은 효과


- 속성에 쓰는 것이며 p 접두사를 붙인다.

- 순서 상관 X

- <beans> 안에 p 접두사 선언

- 클래스 내의 필드 이름 그대로 가져와서 쓴다

- 나머지는 생성자 방식과 유사함

















# 의존 관계 설정 3 - Anonymous bean 객체 생성 및 주입


- 생성자나 프로퍼티에서 ref 써서 외부 객체 지정했잖아 근데 그렇게 말고 내부에서 직접 의존 객체를 정의하는거야

- <bean> 중첩 사용

   즉, <bean> 안에 또 <bean>

- 내부에 선언하면 id가 없어 그래서 익명이야

- 원래 bean은 다른 객체랑 공유가 가능하지 ref 같은거 말이야 근데 익명 bean은 공유가 불가능해

- 사용하는 bean이 독점적으로 걔만 쓸 수 있는거야

- 참조가 불가능하다는 것이지

반응형
LIST

'SPRING' 카테고리의 다른 글

DI XML / SpEL (property 방식)  (0) 2019.03.19
DI XML / Collection Wiring (property 방식)  (0) 2019.03.19
DI XML / 의존 관계 설정 1 (생성자 방식)  (0) 2019.03.18
Spring Container  (0) 2019.03.18
AOP (Aspect-Oriented Programming)  (0) 2019.03.18