Dev/Spring
[Spring] DI(Dependency injection)
yujin.me
2021. 3. 23. 22:19
DI
- OOP의 프로그램에서 프로그래밍을 하는 방법론 중 하나
- JAVA계열을 사용한 경험이 있다면 DI를 사용해봤을 것
- 객체지향 프로그램의 유연성, 필요에 따라 분리 및 확장 가능(인터페이스)
주입 방법 코드 예시
1) set
public class test1{
private Battery battery;
public ElectronicRobotToy(){
}
public void setBattery(Battery battery){
this.battery = battery;
}
}
2) 생성자 + set
public class test2{
private Battery battery;
public ElectronicRadioToy(Battery battery){
this.battery = battery;
}
public void setBattery(Battery battery){
this.battery = battery;
}
}
SPRING DI 설정
<constructor-arg ref=""></constructor-arg>
- 스프링 설정파일(xml) > 스프링 컨테이너(bean 객체) > 작은 객체가 큰 객체에 의존 > DI가 이루어진 상태 > getBean 사용하여 객체 불러오기
- 스프링의 특징을 이용하여 context.xml에 선언 > 간단하고 유연한 프로그래밍
- 생성자를 통해 bean을 주입 받는 경우 constructor-arg
- ref 속성은 사용하려는 객체ID 기재
반응형