728x90
반응형
calc 문제를 복습하다가
applicationContext.xml에 쓰이는 bean 등록할 때 의존객체 주입에서 왜 calcadd는 <constructor-arg>를 쓰는 것이며
calaMul은 <property>를 쓰는건지 이해를 못함
그래서 찾아보니
Setter Injection:<property>태그
Setter메소드를 통해 의존 관계가 있는 Bean을 주입할려면 <property>태그를 사용할 수 있다.
- ref 속성을 사용하면 Bean이름을 이용해 주입할 Bean을 찾는다.
- value 속성은 단순 값 또는 Bean이 아닌 객체를 주입할 때 사용한다.
Constructor Injection : <constructor-arg>태그
Constructor를 통해 의존 관계가 있는 Bean을 주입하려면 <constructor-arg>태그를 사용할 수 있다.
Constructor 주입 방식은 생성자의 파라미터를 이용하기 때문에 한번에 여러 개의 객체를 주입할 수 있다.
- index 속성을 사용하는 방법과 name속성을 이용하는 방법으로 나뉜다.
결론: constructor-args와 property의 차이점
constructor-args: 의존하는 객체를 생성자를 통해 전달(주입)받는다.
property: setter라는 메소드를 이용하여 의존하는 객체를 주입한다.
결국 주입하는 대상이 생성자냐, 메소드냐의 차이입니다.
728x90
반응형
'Spring, Springboot' 카테고리의 다른 글
5월 8일자 수업 Spring Boot 스프링 JPA <chapter03 > (0) | 2023.05.08 |
---|---|
5월 3일자 수업 react (0) | 2023.05.04 |
스프링 calc계산 (0) | 2023.04.07 |
Spring 설치 이후 환경설정 (0) | 2023.04.05 |
[Spring] 설치하기 (0) | 2023.04.04 |