@Autowired private UserDao userDao; @Override public BaseDao<User> getDao() { return userDao; } 请问这个getDao有什么作用? 我试着删除这个getDao方法,一样可以运行,没问题,而且用Autowired已经注入了装配了bean交给了spring去管理。 求指导
闭关修行中......
比如你写的代码叫UserService,有个其他的service依赖UserService同时也依赖UserDao,就不需要在这个service中对UserDao也@Autowired。要是删除没问题就删了呗,其实并没有什么用。顺便说一下,构造器注入比属性注入性能更好
自动生成的代码,没什么用。
不用这个,反射完全可以跨越访问权(private)给字段设置值,所以set方法其实不需要也可以。
private
set
你这个应该是重写的父类BaseDao的方法getDao(),其目的是 供给在父类BaseDao中定义的方法以获得Dao对象比如说,父类中有一个方法
public void test(BaseEntity entity){ getDao().insert(entity);//在这里,父类通过getDao可以获取子类的Dao实现多态 }
此时你如果把这个重写的方法删去就会出现问题
不知道用的什么版本的spring推荐构造器注入
比如你写的代码叫UserService,有个其他的service依赖UserService同时也依赖UserDao,就不需要在这个service中对UserDao也@Autowired。
要是删除没问题就删了呗,其实并没有什么用。
顺便说一下,构造器注入比属性注入性能更好
自动生成的代码,没什么用。
不用这个,反射完全可以跨越访问权(
private
)给字段设置值,所以set
方法其实不需要也可以。你这个应该是重写的父类BaseDao的方法getDao(),其目的是 供给在父类BaseDao中定义的方法以获得Dao对象
比如说,父类中有一个方法
此时你如果把这个重写的方法删去就会出现问题
不知道用的什么版本的spring
推荐构造器注入