ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 8장 setter 메소드를 통한 주입
    스프링 프레임워크 기초 공부 2020. 4. 27. 00:42
    package kr.co.softcampus.beans;
    
    public class TestBean {
    	private int data1;
    
    	public int getData1() {
    		return data1;
    	}
    
    	public void setData1(int data1) {
    		this.data1 = data1;
    	}
    	
    	
    }
    

    TestBean클래스 생성

     

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
    						http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    	<bean id='t1' class='kr.co.softcampus.beans.TestBean'>
    		<property name="data1" value="100"></property>
    	</bean>
    	
    </beans>
    
    

     

    property 의 name값이 data1이다 이때 자동으로 name값 앞에 set을 붙이고 첫글자d를 대문자로 변환한후 setData1메소드를 찾아서 호출합니다 그후 value값을 매개변수에 넣어줍니다.

     

    하지만 이때 setData1와 이름이 동일하고 매개변수가 다른 메소드가 존재할경우 매개변수의 우선순위를 따져서 (문자형>double형>int형) 가장 우선순위가 높은 메소드를 호출한다.  

     

     

     

     

    package kr.co.softcampus.main;
    
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import kr.co.softcampus.beans.TestBean;
    
    
    
    public class MainClass {
    
    	public static void main(String[] args) {
    		
    		TestBean obj1= new TestBean();
    		obj1.setData1(100);
    		System.out.println(obj1.getData1());
    		
    		System.out.println("======================================");
    
    		// TODO Auto-generated method stub
    		ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("kr/co/softcampus/config/beans.xml");
    		TestBean t1 = ctx.getBean("t1",TestBean.class);
    		System.out.println(t1.getData1());
    		
    		ctx.close();
    	}
    
    }
    

                                                                      main 함수

     

     

    결과창

Designed by Tistory.