DI(Dependency Injection)
◎ 의존 주입
◎ 기존에는 개발자가 했지만 Spring에서는 Spring 컨테이너가한다.
◎ IoC를 배울때에 함께 알아야하는 개념이다.
의존성
◎ 어떤 메서드를 수행할 떄, 다른 객체를 미리 new 해야하는 상황을 말한다.
생성자 주입(Constructor Injection)
◎ 강제성이 짙다.
◎ 생성자 주입할 때 에러가 발생하면 해당 객체는 생성되지 않기 때문에 필수적일 때 사용하는 방식이다.
<beans>
<bean class="test.IPhone">
<constructor-arg ref="aw" />
</bean>
<bean class="test.AppleWatch" id="aw"/>
</beans>
setter 주입
◎ 생성자 주입보다 덜 강제적이다.
◎ 기본 생성자가 필수이다.
⇨ 기본 생성자 + setter
<beans>
<bean class="test.IPhone">
<property name="watch" ref="aw">
</bean>
<bean class="test.AppleWatch" id="aw">
</beans>
리스트를 이용한 주입
<beans>
<bean class ="test.TestBean">
<property name="testList">
<list>
<value>a</value>
<value>b</value>
<value>c</value>
</list>
</property>
</bean>
</beans>
맵을 이용한 주입
<beans>
<bean class ="test.TestBean">
<property name="testMap">
<map>
<entry>
<key><value>a</value></key>
<value>에이</value>
</entry>
<entry>
<key><value>b</value></key>
<value>비</value>
</entry>
</map>
</property>
</bean>
</beans>
'프레임워크 > Spring' 카테고리의 다른 글
[프레임 워크] <Spring>〈Maven〉application.xml 생성 (0) | 2024.02.28 |
---|---|
[프레임워크] <Spring>〈Maven〉스프링 프로젝트 생성 (0) | 2024.02.28 |
[프레임워크] <Spring>〈Maven〉xml (0) | 2024.02.26 |
[프레임워크] <Spring>〈Maven〉BeanFactory (0) | 2024.02.26 |
[프레임워크] <Spring>〈Maven〉기초 (0) | 2024.02.26 |