본문 바로가기
개발/스프링(Spring)

(Spring) 의존관계 설정 방법

by kakk789 2022. 5. 26.

속성 의존관계 설정 방법

생성자에 의해서 설정 할 때 - <constructor-arg>
setter에 의해서 설정 할 때 - <property>

1. 생성자의 의해서 초기화 할 때

<constructor-arg value ="값"/>
	<bean id="d" class="exam02.Dept">
		<constructor-arg value="1"></constructor-arg>
		<constructor-arg value="개발"></constructor-arg>
		<constructor-arg value="판교"></constructor-arg>
	</bean>

1.1  A클래스에서 B클래스 타입의 멤버 변수가 선언될 때 (ref 사용)

  • B클래스 타입의 객체를 먼저 생성 해주고, A클래스에서 ref를 사용해 참조 객체인 B를 받아야함
	<bean id="p" class="exam03.Person">
		<constructor-arg value="이순신"/> 
		<constructor-arg value="30"/>
	</bean>
	
	<bean id="dao" class="exam03.PersonDAO">
		<constructor-arg ref="p"/>
		<constructor-arg value="2022"/>
	</bean>

2. Setter에 의해서 초기화 할 때 (property 사용)

<property name="변수명" value="값"/>
<property name="변수명" ref="참조 할 객체명"/>
	<bean id="p" class="exam04.Person">
		<property name="name" value="이순신"></property>
		<property name="age" value="209"></property>
	</bean>
	
	<bean id="dao" class="exam04.PersonDAO">
		<property name ="person" ref="p"></property>
		<property name ="year" value="2021"></property>
	</bean>

의존관계 자동 설정

1. byName

autowire="byName"
  • 멤버변수의 이름과 동일한게 존재하면 자동으로 의존관계 설정

2. byType

autowire="byType"
  • 멤버의 자료형과 똑같은 객체의 자료형이 있으면 자동으로 의존관계 설정
  • 해당 타입은 유니크해야함

3. constructor

autowire="constructor"
  • 생성자에 의한 의존 관계 자동 설정
  • 내부적으로는 byType으로 설정 되므로 동일 객체가 유니크 해야함
반응형

'개발 > 스프링(Spring)' 카테고리의 다른 글

(Spring) @ReqeustMapping GET/POST 방식 설정  (0) 2022.06.05
(Spring) MVC  (0) 2022.06.02
(Spring) 스프링 객체 생성 방법  (0) 2022.06.01
(Spring) Bean 범위(scope) 설정  (0) 2022.05.31
Spring  (0) 2022.05.30

댓글