스프링에서는 객체들을 관리하기 위해 제어의 역전을 사용한다. 제어의 역전이란 객체의 생성과 관리를 개발자가 하는 것이 아닌 프레임워크가 대신하는 것.
public class A{
b = new B();
}
'스프링 컨테이너'는 빈이 생성되고 소멸되기까지의 생명주기를 관리하고 빈을 주입받을 수 있게 DI를 지원함
IoC를 구현하기 위해 사용하는 방법이 DI다. DI란 외부에서 객체를 주입 받아 사용하는 것이다.
Setter Injection
: setter 메서드를 통해 의존관계에 있는 객체를 주입, 클래스에 set 메서드有
- property>태그를 이용해 bean을 주입
- ref속성은 bean의 매개값이 객체인 경우에 사용.
- value속성은 매개값이 문자열이나 기본데이터와 같은 값 주입시 사용
Construction Injection
: 생성자를 통해 의존관계에 있는 객체 주입, 클래스에 생성자 만들어줘야 함
- <constructor-arg>태그 이용
- 속성 사용은 위와 동일
3. Method Injection
bean이란? 스프링 컨테이너에 등록한 객체
bean 정의
<bean id="빈이름(=객체이름)" class=“패키지.클래스이름"/>`
- <bean> 객체를 만들어달라는 태그
- id 스프링 컨테이너가 bean을 참조할 때 사용하는 이름
- class 스프링에게 bean의 타입을 알려줌
<참고자료>
https://shinsunyoung.tistory.com/133
https://life-with-coding.tistory.com/433
+수업자료