만약 Spring 작업 중
org.springframework.beans.factory.UnsatisfiedDependencyException 오류가 발생했다면
객체의 의존성을 주입했는지를 확인해야한다.
1. .xml 의존성 확인
만들어둔 applicationContext.xml 을 확인했을때
<context:component-scan base-package="test" />
<bean class="problam.GalaxyWath" id="gw" />
읽어야하는 패키지와 객체의 DI(의존성)을 부여 했는지를 확앤해준다.
2. @어노테이션 확인
@Component("samsung")
public class GalaxyPhone implements Phone{
@Autowired //DI 오토 주입
private Watch watch;
@Component 어노테이션과 @Autowired 어노테이션가 사용되어 있는지
@Component 어노테이션에 사용할 객체명이 들어가 있는지를 확인해 주어야한다.
이 외에 @Qualifier("gw") 어노테이션을 사용하는 방법도 있다.
의존성을 주입할 객체를 생성해주고
@Component("gw")
public class GalaxyWath implements Watch {
해당 객체명을 @Qualifier("gw") 어노테이션으로 지정하여 <bean> 태그와 동일한 효과를 가져올 수 있다.
@Component("samsung")
public class GalaxyPhone implements Phone{
@Autowired //DI 오토 주입
@Qualifier("gw")
private Watch watch;
다만 @Qualifier("gw")의 경우 2개 이상의 GalaxyWath 객체사용이 될때 사용되는 것이며
하나의 객체를 사용하게 될때 사용되다면 성능이 떨어질 수 있다.
728x90