학습하며 정리한 내용을 올리는 것이니, 참고용으로만 봐 주시길 바랍니다.
자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌

Dependency Injection

  1. 생성자를 이용한 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" >를 이용해 의존성 주입

  1. 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= ... /> 를 이용해 주입

  1. 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>
  1. 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>

+ Recent posts