2015년 8월 3일 월요일

[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;

댓글 없음:

댓글 쓰기