-
DI 의존 객체란?
의존 주입 관계라고 일컬어지는 DI는 객체를 직접 생성하는 것이 아닌 외부에서 생성하고 의존 주입을 통해서 내부에 주입하는 것을 말한다.
의존 객체 주입을 하는 방법에는 크게 4가지가 있다.
1. 생성자를 이용한 의존 객체 주입
Java에서 사용하는 생성자를 만들어서 처리하는 것이다
public 클래스 명을 입력하고 사용자 정의를 매개변수로 줘서 사용자 정의 생성자를 만들어서 처리한다.
public AlphaSubjectSelect (SubjectDao subjectDao){
this.SubjectDao = subjectDao;
}
<bean id="subjectDao" class="ems.member.dao.SubjectDao"></bean>
<bean id="SubjectSelect" class="ems.member.service.SubjectSelect">
<constructor-arg ref="subjectDao></constructor-arg>
</bean>
해당 클래스명을 bean객체의 id명에 넣고 constructor-arg ref의 값에 주입해서 DI를 설정한다.
즉, constructor-arg 태그와 ref속성을 사용하는 것이다.
2. setter를 이용한 의존 객체 주입
사용자 정의 생성자로 생성한 것이 아닌 이번에는 setter를 사용하여 의존 객체를 주입해보자.
public void setJdbcUrl(string Url){
this.url = url;
}
<bean id="dataBaseConnectionInfoDev" class="ems.member.DataBaseConnectionInfo">
<property name="jdbcUrl" value = "url주소"/>
같이 java의 setter를 XML의 property name에 value에 의존 주입하는 것을 말한다.
3. LIst타입 의존 객체 주입
매개변수에 여러개를 받을 경우 List타입으로 받을 수 있는데
public void setContents(List<String> contents){
this.contents = contents;
}
에서 매개변수가 List형태이므로
<property name= "contents">
<list>
<value>a</value>
<value>b</value>
<value>c</value>
</list>
</property>
로 list와 value형태로 받을 수 있다.
4. Map타입 의존 객체 주입
매개변수에 Map타입을 받아서 xml에 의존 객체 주입을 한다.
public void setSubject(Map<String, string> subject){
this.subject = subject;
}
<property name="Subject">
<map>
<entry>
<key>
<value>math</value>
</key>
</entry>
</map>
</property>
DI 의존 객체 주입은 스트링에서 항상 나오므로 개념을 잘 기억하자
'JSP&스프링 > 스프링 키포인트' 카테고리의 다른 글
[스프링] 스프링 컨테이너와 빈 객체의 생명주기와 생명주기를 나타내는 용어 정리하기 (0) 2023.01.28 [스프링] @Autowired로 의존 객체를 선택해야 하는 경우의 방법과 특징 정리하기 (0) 2023.01.28 [스프링] 의존 객체를 자동으로 주입해주는 애노테이션 => @Autowired, @Resource의 정의와 특징 정리하기 (0) 2023.01.28 [스프링] 스프링에서 컨테이너와 빈의 정의와 스프링에서 객체를 생성하는 방법 정리하기 (0) 2023.01.23 [스프링] cmd로 SQL 계정 생성하는 방법 정리하기 (0) 2022.08.21 댓글