Spring

DI 의존객체 주입 -> @Autowired

본이qq 2022. 9. 14. 16:33
-Autowired
- 필요한 의존 객체의 타입에 해당하는 BEAN을 찾아 주입한다. (맞는 "타입"을 찾아서 주입해준다.)
-@Autowired 는 변수, setter 메서드, 생성자, 일반 메서드에 적용이 가능하다. 

 

-DataBaseManager

public class DataBaseManager {

	@Autowired
	private DataBaseUserInfo dbi;   // 의존객체 주입 -> 자동주입

-> @Autowired 어노테이션을 사용함으로써 

public DataBaseManager(DataBaseUserInfo dbi){

           this. dbi = dbi;

}

->라고 쓰지 않고도 의존 주입이 가능해짐. 

 

 

-컨테이너를 살펴보면,

<bean id="dbuserinfo" class="com.ezen.word.util.DataBaseUserInfo">
	<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"></property>
	<property name="id" value="scott"></property>
	<property name="pw" value="tiger"></property>
	<property name="driver" value="oracle.jdbc.driver.OracleDriver"></property>
</bean>
	
<bean id="dbmanager" class="com.ezen.word.util.DataBaseManager"></bean>
	<!-- 
	<bean id="dbmanager" class="com.ezen.word.util.DataBaseManager">
			<constructor-arg ref="dbuserinfo"></constructor-arg>
	</bean> 
	-->

-> <constructor-arg> 태그를 사용하지 않고, DataBaseManager 객체를 꺼내올 때 필요한 의존 객체의 타입(dbuserinfo)을 알아서 찾아서 매핑해주므로 아주 간편함!

 

 

 

'Spring' 카테고리의 다른 글

빌드 자동화 도구 Maven vs. Gradle  (0) 2022.09.14
Spring MVC 와 Spring Boot  (0) 2022.09.14
DI 의존주입 & Bean 생성과 사용  (0) 2022.09.14
DI (Dependency Injection) 의존 주입  (0) 2022.09.14