의존이란 변경에 의해 영향을 받는 관계
1️⃣ 직접 생성
✔️ 의존을 필요로 하는 클래스에서 의존대상을 직접생성하는 방식
✔️ 의존을 필요로 하는 클래스를 생성하면 의존객체도 자동으로 생성된다
2️⃣ DI를 통해서
✔️ 의존을 필요로 하는 클래스에서 의존대상을 주입해주는 방식
1️⃣ 의존객체 변경의 유연성
✔️ 의존대상을 직접생성하는 경우
✔️ DI를 사용하여 의존객체를 주입하는경우
1️⃣ 생성자 방식
✔️ 객체 생성 시 의존객체를 생성자의 매개변수를 통해 주입
✔️ XML에서 사용되는 생성자를 이용한 DI태그는 태그
✔️ 생성자로 초기화한 코드
public MemberService(MemberDao memberDao) {
this.memberDao=memberdao;
}
✔️ xml bean 설정
<bean id = "memberService" class="spring.MemberService" >
<constructor-arg ref="memberDao"/>
</bean>
1️⃣ Set메서드 방식
✔️ set으로 시작하는 프로퍼티 설정 메서드를 통해 의존객체를 주입받는 방법
✔️ 메서드 이름이 set으로 시작해야하며, 한개의 파라미터를 가져야한다.
✔️ set메서드로 초기화한 코드
public void setMemberDao(MemberDao memberDao) {
this.memberDao=memberdao;
}
✔️ xml bean 설정
<bean id="memberService"class="spring.MemberService" >
<property ref="memberDao"/>
</bean>
참고)) 먼저 주입할 의존객체(memberDao)를 bean으로 생성해줘야한다