만약 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
개발자가 되고 싶은 곰