학습하며 정리한 내용을 올리는 것이니, 참고용으로만 봐 주시길 바랍니다.
자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌
Dependency Injection
- 생성자를 이용한 DI
<bean id="studentDao" class="ems.member.dao.StudentDao" ></bean>
<bean id="registerService" class="ems.member.service.StudentRegisterService">
**<constructor-arg ref="studentDao" ></constructor-arg>**
</bean>
: src/main/resources/applicationContext.xml
파일에 <constructor-arg ref="studentDao" >
를 이용해 의존성 주입
- setter를 이용한 DI
public class DataBaseConnectionInfo {
private String jdbcUrl;
private String userId;
private String userPw;
public String getJdbcUrl() {
return jdbcUrl;
}
...
<bean id="dataBaseConnectionInfoDev" class="ems.member.DataBaseConnectionInfo">
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="userId" value="scott" />
<property name="userPw" value="tiger" />
</bean>
: <property name="jdbcUrl" value= ... />
를 이용해 주입
- List 타입 DI 주입
public void setDevelopers(List<String> developers) {
this.developers = developers;
}
<bean id="informationService" class="ems.member.service.EMSInformationService">
<property name="developers">
<list>
<value>Cheney.</value>
<value>Eloy.</value>
<value>Jasper.</value>
<value>Dillon.</value>
<value>Kian.</value>
</list>
</property>
Map 타입 DI
<property name="administrators"> <map> <entry> <key> <value>Cheney</value> </key> <value>cheney@springPjt.org</value> </entry> <entry> <key> <value>Jasper</value> </key> <value>jasper@springPjt.org</value> </entry> </map> </property>
: 아래와 같이 value 위치에 bean 객체를 넣을 수 있음
<entry> <key> <value>dev</value> </key> <ref bean="dataBaseConnectionInfoDev"/> </entry>
'Backend > Spring' 카테고리의 다른 글
Spring - 데이터베이스 (0) | 2021.02.14 |
---|---|
Spring - 세션과 쿠키 && 리다이렉트와 인터셉트 (0) | 2021.02.09 |
Spring - MVC (0) | 2021.02.04 |
Spring - 스프링 컨테이너의 생성관련 (0) | 2021.02.02 |
Spring - Bean과 의존객체 주입 (0) | 2021.02.01 |