본문 바로가기
Framework/Spring Framework

[Spring Framework] DI(Dependency Injection)

by 원동호 2018. 7. 24.
반응형

1. JAVA파일이 아닌 xml에서 객체를 생성하는 방법

 

/* bean은 객체라고 생각하면되고, id는 unique한 값이다. calculator 라는 객체 생성    
 * class에는 해당 bean이 위치한 class full name을 입력해주어야 한다. 	
 */
<bean id="calculator" class="com.javalec.ex.Calculator" /> 	 	
	<bean id="myCalculator" class="com.javalec.ex.MyCalculator">          
	//property의 name은 해당 java파일의 필드명과 동일해야한다.         
	//property에  value로 값을 설정해줄수 있는것은 해당 class에 setter메소드가 있기때문이다.없으면 생성 불가능!!! 		
	<property name="calculator">             
	//ref bean : calculator라는 bean객체를 참조하겠다. 			
	<ref bean="calculator"/> 		
	</property> 		
	<property name="firstNum" value="10" /> 		
	<property name="secondNum" value="2">
	</property> 	
</bean>

 

2. JAVA파일에서 new연산자를 사용하지 않고 xml파일을 읽어 객체를 생성하는 방법

 

String configLocation = "classpath:applicationCTX.xml";  
//AbstractApplicationContext는 추상클래스이며 GenericXmlApplicationContext타입으로 xml을 읽는다. 
AbstractApplicationContext ctx = new GenericXmlApplicationContext(configLocation);  
//getBean의 인자로는 xml파일에서 만든 bean의 이름과 동일해야하며, 해당하는 javaClass명을 입력해준다. 
MyCalculator myCalculator = ctx.getBean("myCalculator", MyCalculator.class); 

 

반응형

댓글