본문 바로가기
JAVA/Spring

Spring예제 - setter방식

by 설총이 2018. 9. 6.

setXxx() 형태의 설정 메서드를 통해서 전달받는 방법으로 프로퍼티 설정 방식


1. 의존하는 객체를 전달받을 setter를 작성한다.

2. 설정파일(XML파일) 에 <property> 태그를 이용한다

3. 객체 == <ref>

   String / 기본데이터타입 == <value>


setter로 꺼낼때에는 반드시 기본 생성자가 있어야함 을 기억하자.


사용할 변수를 선언후 setter를 셋팅하자.



[Foo.java]



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class Foo {
 
    Bar bar;
    Baz baz;
    String s;
    int i;
    
    public void setS(String s) {
        this.s = s;
    }
 
    public void setI(int i) {
        this.i = i;
    }
    
    public void doFoo() {
        System.out.println(s + " " + i);
    }
cs




[DITest.xml]


1
2
3
4
5
6
<bean id="bar" class="spring.DI.Bar" />
<bean id="baz" class="spring.DI.Baz" />
<bean id="foo" class="spring.DI.Foo">
    <property name="s" value="Spring" />
    <property name="i" value="10" />
</bean>
cs


클래스가아닌 일반 변수이므로,

value값으로 꺼낼값을 저장한다.


name == setter에 있는 변수명.

value == 일반변수




[MainDI.java]



1
2
3
4
5
6
7
public static void main(String[] args) {
    ApplicationContext context = new GenericXmlApplicationContext("DITest.xml");
    Foo f = context.getBean("foo", Foo.class);
    // 캐스팅을 해주는 방법도 있지만, 함수 뒤에 변수를 하나더 넣어
    // Foo클래스타입으로 꺼낸다고 명시 해주는게 더 좋다.
    f.doFoo();
}
cs



1. ApplicationContext가 "DITest.xml" 의 문서에 저장된 bean정보들을 전부 객체화 해준다.

2. 그것을 getBean해서 객체화

3. f라는 변수로 저장한 doFoo실행 == System.out.prinln 실행.

'JAVA > Spring' 카테고리의 다른 글

Spring을 통한 jdbc연결  (0) 2018.09.10
Spring 예제 - 어노테이션 , @Aspect  (0) 2018.09.10
Spring예제 - bean과 aop혼합사용  (0) 2018.09.05
Spring예제 - bean컨테이너 사용  (1) 2018.09.05
Spring(maven / gradle) 설치, 순서  (0) 2018.09.05