728x90
반응형
의존성 주입(DI, Dependency Injection)
스프링 프레임워크에서는 각 클래스들의 연관 관계를 클래스들 사이에서 맺는 것이 아니라 스프링 프레임워크에서 설정(xml)을 통해 맺어줌으로써 클래스들이 연관 관계를 갖지 않게 구현합니다.
<bean> 태그에 사용되는 여러가지 속성
속성 | 설명 |
id | 빈 객체의 고유 이름으로, 빈 id 를 이용해 빈에 접근합니다. |
name | 객체의 별칭입니다. |
class | 생성할 클래스로 패키지 이름까지 입력해야 합니다. |
constructor-arg | 생성자를 이용해 값을 주입할 때 사용합니다. |
property | setter 를 이용해 값을 주입할 때 사용합니다. |
프로젝트에 마우스 오른쪽 버튼을 클릭한 후 xml 파일을 생성하여 작성합니다.(New - Other - XML - XML File)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!-- 빈 태그를 이용해 객체를 생성한 후 빈 id 를 지정 -->
<bean id="personService" class="com.spring.ex01.PersonServiceImpl">
<!-- property 를 이용해 name 값을 할당 -->
<property name="name">
<value>김철수</value>
</property>
</bean>
<bean id="personService1" class="com.spring.ex02.PersonServiceImpl">
<!-- 생성자를 이용해 값을 할당 -->
<constructor-arg value="이영희" />
</bean>
<bean id="personService2" class="com.spring.ex02.PersonServiceImpl">
<!-- 생성자를 이용해 값을 2개 할당 -->
<constructor-arg value="박민수" />
<constructor-arg value="32" />
</bean>
</beans>
소스 코드에서 new 를 이용해 직접 객체를 생성하던 것을 xml 에서 설정한 것입니다.
여기까지 임미다.
728x90
'개발 > Spring' 카테고리의 다른 글
메이븐(Maven) 구성요소 (0) | 2022.11.17 |
---|---|
스프링 @Autowired (0) | 2022.11.16 |
스프링 애너테이션(Annotation) (0) | 2022.11.16 |
스프링 트랜잭션(Transaction) (0) | 2022.11.16 |
스프링 마이바티스 연동 (0) | 2022.11.16 |
마이바티스(Mybatis) (0) | 2022.11.15 |
스프링 JDBC(Java Database Connectivity) (0) | 2022.11.15 |
스프링 MVC(Model - View - Controller) (0) | 2022.11.15 |
스프링 프레임워크란? (0) | 2022.11.15 |
스프링 AOP(Aspect-Oriented Programming) (0) | 2022.11.15 |