@Autowired private UserDao userDao; @Override public BaseDao<User> getDao() { return userDao; } 请问这个getDao有什么作用? 我试着删除这个getDao方法,一样可以运行,没问题,而且用Autowired已经注入了装配了bean交给了spring去管理。 求指导
闭关修行中......
예를 들어, 작성한 코드가 UserService이고 UserService와 UserDao에 의존하는 또 다른 서비스가 있는 경우 이 서비스에서는 @Autowired UserDao를 사용할 필요가 없습니다. 삭제해도 괜찮으면 그냥 삭제하면 되는데 사실 아무 소용이 없습니다. 그런데 생성자 주입이 속성 주입보다 성능이 더 좋습니다
자동 생성된 코드는 쓸모가 없습니다.
이것이 없으면 리플렉션이 액세스 권한(private)에 걸쳐 필드 값을 설정할 수 있으므로 set 메서드는 실제로 필요하지 않습니다.
private
set
부모 클래스 BaseDao의 getDao() 메서드를 재정의해야 합니다. 그 목적은 부모 클래스 BaseDao에 정의된 메서드를 제공하여 Dao 객체를 얻는 것입니다. 예를 들어 부모 클래스 으아아아
사용하고 있는 스프링 버전이 무엇인지 모르겠습니다생성자 주입을 권장합니다
예를 들어, 작성한 코드가 UserService이고 UserService와 UserDao에 의존하는 또 다른 서비스가 있는 경우 이 서비스에서는 @Autowired UserDao를 사용할 필요가 없습니다.
삭제해도 괜찮으면 그냥 삭제하면 되는데 사실 아무 소용이 없습니다.
그런데 생성자 주입이 속성 주입보다 성능이 더 좋습니다
자동 생성된 코드는 쓸모가 없습니다.
이것이 없으면 리플렉션이 액세스 권한(
private
)에 걸쳐 필드 값을 설정할 수 있으므로set
메서드는 실제로 필요하지 않습니다.부모 클래스 BaseDao의 getDao() 메서드를 재정의해야 합니다. 그 목적은 부모 클래스 BaseDao에 정의된 메서드를 제공하여 Dao 객체를 얻는 것입니다.
지금 이 재작성 메소드를 삭제하면 문제가 발생합니다예를 들어 부모 클래스 으아아아
사용하고 있는 스프링 버전이 무엇인지 모르겠습니다
생성자 주입을 권장합니다