본문 바로가기

개발/Spring

스프링 DI(Dependency Injection)

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