반응형
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파일을 같이 사용하는 경우는 드물것 같다..
반응형
'Framework > Spring Framework' 카테고리의 다른 글
[Spring Framework] 외부파일을 이용한 설정 (0) | 2018.07.25 |
---|---|
[Spring Framework] 싱글톤(Singleton)의 개념 (0) | 2018.07.25 |
[Spring Framework] 생명주기 (Life Cycle)와 범위 (0) | 2018.07.24 |
[Spring Framework] DI(Dependency Injection) (0) | 2018.07.24 |
[Spring Framework] 스프링이란? (0) | 2018.07.24 |
댓글