팀원분이 Autowired 에러 질문하셔서 간단히 정리해봤다.
아는 것이라면 열심히 답해드립니다...
받는 쪽 userDaoImpl
들어온쪽: ds (bean)
클래스와 빈의 차이점
빈 저장소에 등록을 했으면 빈, 안했으면 클래스이다.
빈을 주입받으려면 빈이어야 한다.
OO님의 코드가 에러난 이유는 UserDaoImpl이 빈이 아니었기 때문이다.
빈이 왜 아니었을까?
빈 등록을 안해서 그렇다.
1. xml (수동)
2. Annotation (자동)
xml에 ds는 등록을 했다.
UserDaoImpl은 애너테이션 또는 xml에 등록을 해야 한다.
그냥 애너테이션? => @Component나 @Component를 포함한 애너테이션 (@Controller, @Service, @Repository)
그럼 왜 굳이 @Controller, Repository같이 길게 쓰나?
명칭상의 이유다.
dao => @Repository써라
service => @Service써라
controller => @Controller써라