java - @Autowired注入了dao,为什么还要写getDao(){return userDao}这个方法?有什么作用?
阿神
阿神 2017-04-18 10:31:56
0
5
445
@Autowired
private UserDao userDao;

@Override
public BaseDao<User> getDao() {
    return userDao;
}

请问这个getDao有什么作用?  我试着删除这个getDao方法,一样可以运行,没问题,而且用Autowired已经注入了装配了bean交给了spring去管理。  求指导
阿神
阿神

闭关修行中......

모든 응답(5)
PHPzhong

예를 들어, 작성한 코드가 UserService이고 UserService와 UserDao에 의존하는 또 다른 서비스가 있는 경우 이 서비스에서는 @Autowired UserDao를 사용할 필요가 없습니다.
삭제해도 괜찮으면 그냥 삭제하면 되는데 사실 아무 소용이 없습니다.
그런데 생성자 주입이 속성 주입보다 성능이 더 좋습니다

洪涛

자동 생성된 코드는 쓸모가 없습니다.

伊谢尔伦

이것이 없으면 리플렉션이 액세스 권한(private)에 걸쳐 필드 값을 설정할 수 있으므로 set 메서드는 실제로 필요하지 않습니다.

左手右手慢动作

부모 클래스 BaseDao의 getDao() 메서드를 재정의해야 합니다. 그 목적은 부모 클래스 BaseDao에 정의된 메서드를 제공하여 Dao 객체를 얻는 것입니다.
예를 들어 부모 클래스 으아아아

지금 이 재작성 메소드를 삭제하면 문제가 발생합니다

Peter_Zhu

사용하고 있는 스프링 버전이 무엇인지 모르겠습니다
생성자 주입을 권장합니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿