Spring - DI 2가지방법과 응용
프로그래밍 정리/Spring
2019. 12. 4. 18:13
반응형
Spring - DI 2가지방법과 응용
DI를 만드는 방법은 2가지가 있다
-XML 방식
-JAVA 방식
주로 XML방식을 많이 쓴다.
왜냐면 유지보수가 유용하기 때문
- 예시
다음과 같은 경우
클래스A와 클래스B가 있고
클래스B에서 클래스A(a1)를 선언한 상태이다.
-------------------------------------------------------------------------------------------------------------------
-XML 예제
클래스 B를 사용해야 할 경우
main안에서
클래스 B안에 있는 객체 a1에 실질적인 값을 넣어주어야한다.
이를 XML으로 설정이 가능하다.
-main.java
1 2 3 | String configLocation = "text.xml"; AbstractApplicationContext ctx = new GenericXmlApplicationContext(configLocation); B b = ctx.getBean("bbb", B.class); | cs |
-test.xml
1 2 3 4 5 6 7 8 9 10 | --객체 A 선언 --bean 닫는방식 2가지 "/>" or "</bean> <bean id="aaa" class="com.javalec.ex.A" /> --------------------------- | --객체 B 선언 | <bean id="bbb" class="com.javalec.ex.B"> | <property name="a1"> <--객체B 안에 생성된 객체 a1값 | <ref bean="aaa"/> <------삽입----------------------------┘ </bean > | cs |
-----------------------------------------------------------------------------------------------------------------------------------------------------
-Java 예제
java로 만들경우에는 @(Annotation)을 사용한다.
※@(어노테이션)이란?
의미있는 주석으로 클래스나 메서드 같은 다양한 종류의 정보를 주는 방법이다.
-main
|
-ApplicationConfig.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | @Configuration public class ApplicationConfig { @Bean public A test1(){ A a1 = new A(); return a1; } @Bean public B test2(){ A a1 = new A(); B b1 = new B(a1); return b1; } } | cs |
반응형
'프로그래밍 정리 > Spring' 카테고리의 다른 글
spring - Namespace 사용법 (0) | 2019.12.09 |
---|---|
Spring - Environment객체(Property값 가져오기) (0) | 2019.12.09 |
Spring - 컨테이너 생명주기, Bean 생명주기 (0) | 2019.12.09 |
spring - DI(Dependency Injection,의존 주입) (0) | 2019.12.04 |
Spring 설치 - 이클립스와 spring 연동 (0) | 2019.12.04 |