예제로 사용될 Member 클래스 입니다.
[#M_ more.. | less.. |import java.util.List;

public class Member {

    public Member(){}

    public Member(String id, String password){
        this.id = id;
        this.password = password;
    }

    private String id;

    private String password;

    private List<String> wishList;

    private int age;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public List<String> getWishList() {
        return wishList;
    }

    public void setWishList(List<String> wishList) {
        this.wishList = wishList;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
_M#]1. Setter Injection

이것을 사용하기 위해서는 setter가 있어야 합니다. 설정파일에는 다음과 같이 <property /> 태그를 이용해서 Injection을 합니다.

    <bean id="keesun" class="beanConfiguration.Member">
        <property name="id" value="whiteship" />
        <property name="password" value="pass" />
        <property name="age" value="26" />
    </bean>

다음과 같이 테스트 메소드를 작성한 뒤 테스트 해 봅니다.

    @Test public void setterInjection(){
        Member keesun = (Member) bf.getBean("keesun");
        assertEquals("whiteship", keesun.getId());
        assertEquals("pass", keesun.getPassword());
        assertEquals(26, keesun.getAge());
    }

됩니다. 이때 적절한 primitive type으로 알아서 바꿔주는 것을 확인할 수 있습니다.

2. Constructor Injection

이것을 사용하기 위해서는 인자가 있는 생성자가 필요합니다. 설정파일에는 <constructor-arg /> 태그를 사용합니다.

    <bean id="keesun2" class="beanConfiguration.Member">
        <constructor-arg value="whiteship" />
        <constructor-arg value="pass" />
        <constructor-arg value="26" />
    </bean>

테스트 코드는 위에서 getBean("keesun2")로만 바꿔주면 됩니다.