[spring] Annotaion 용어-개념 정리 / 어노테이션 용어-개념정리 (only korean)
[spring] Annotaion 용어-개념 정리 / 어노테이션 용어-개념정리 (only korean)
@Repository
DAO를 bean으로 등록하기위한 annotaion
@Service
일반 class를 bean으로 등록하기위한 annotaion
@Autowired
자동 와이어링 기능이지만 해당 객체가 없거나 동일한 bean이 2개 이상일경우 문제가 발생한다.
사용할 대상만 @Autowired(required=true)로 해주고
나머지 대산에 @Autowired(required=false)로 설정해주면 예외가 발생하지 않지만
이는 근본적인 해결책이 아니다.
다른방법으로 @Resource 어노테이션을 사용할수도 있지만
이또한 근본적인 해결책이 아니며, @Qualifier 어노테이션으로 명시적인 DI를 해주는게 좋다.
@Qualifier
-DI 을 위한 annotaion이며 인젝션 할 대상을 명시해주면 된다
ex) userServiceImpl14에서 필드에 가지고 있는 UserDao에
@Qualifier 어노테이션으로 userDaoImpl14를 DI하는 코드이다.
1 2 3 4 5 6 7 | @Service("userServiceImpl14") public class UserServiceImpl14 implements UserService{ //Field @Autowired @Qualifier("userDaoImpl14") UserDao userDao; |