본문 바로가기
Framework/Spring Framework

[Spring Framework] DI 활용

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

DI(Dependency Injection) : 의존 주입

 

DI 사용에 따른 장점?

자바 소스의 수정 없이 XML파일의 class만 수정해 주면 된다.

 

1. XML 파일을 이용한 DI 설정 방법

 

<bean id="student1" class="com.javalec.ex.Student"> 		
	//생성자 설정(기초데이터) 		
	<constructor-arg value="홍길동" /> 
		<constructor-arg value="10" /><constructor-arg> 			
		//생성자 설정(객체 데이터,List타입) 				
		<list> 
			<value>수영</value> 				
			<value>요리</value> 			
		</list> 		
	</constructor-arg> 		 		
    	//setter 설정(property) 			
	<property name="height"> 
		<value>187</value> 		
	</property> 		 		
	<property name="weight" value="84" /> 	
</bean> 

 

2. JAVA를 이용한 DI 설정 방법

 

// '스프링 설정에 사용되는 클래스' 라고 명시해주는 어노테이션. 
@Configuration 
public class ApplicationConfig {}  
	//객체 생성을 명시해주는 어노테이션 	
	@Bean 
	public Student student1(){ 
	// Student는 XML의 class명 , student1은 XML의 id 값이라고 생각하면된다. 		 		
	ArrayList hobbys = new ArrayList(); 		
	hobbys.add("수영"); 		
	hobbys.add("요리"); 		 		
	Student student = new Student("홍길동", 20, hobbys); 
	//생성자에 설정 		
	student.setHeight(180); 
	//Property에 설정 		
	student.setWeight(80); 		 		
	return student; 	
}

 

3. XML과 JAVA를 같이 사용

 

3-1)XML파일에 JAVA파일을 포함시켜 사용하는 방법

 

//@Configuration이 들어간 파일들을 모두 가져오겠다. 	
<context:annotation-config /> 
<bean class="com.javalec.ex.ApplicationConfig" /> 

XML파일에 JAVA 설정파일이 포함되어 하나의 파일로 인식된다.

 

3-2)JAVA파일 안에 XML파일을 포함시켜 사용하는 방법

 

//Java로 만든 설정파일에 해당 XML파일의 경로를 적어주면 된다. 
@ImportResource("classpath:applicationCTX.xml")  

 

※개인적인 생각으로는 JAVA파일과 XML파일을 같이 사용하는 경우는 드물것 같다..

 

반응형

댓글