日期:2014-05-17  浏览次数:20649 次

关于Spring注入的小问题

BaseService   是接口
BaseServiceImpl  是实现类
UserService  extends BaseService 是接口 
UserServiceImpl implements UserService extends BaseServiceImpl 是实现类

想问下 如果要注入userDao是将它注入到UserServiceImpl 类中好  还是 BaseServiceImpl  类中好
今天经理说还是分开写,这样不乱。
但是我觉得注入在BaseServiceImpl好点,因为如果有多个service都要用到userDao的话,那就要在多个service中注入userDao。而且,这些注入的dao类是在服务器启动的时候实例化好的,没有性能上好坏之说吧。不晓得说的都不对,请前辈们指点。

------解决方案--------------------
你说的可以。
------解决方案--------------------
项目中能不用继承最好不要用继承,能用组合就不要用继承,继承容易出现bug!
------解决方案--------------------
你们经理说的没错,userDao将它注入到UserServiceImpl比较好,用到哪个就注入哪个,要不然baseserviceimpl岂不是要都注入?你如果选择性的在baseserviceimpl注入dao,那么继承baseserviceimpl注入哪个还得查看baseserviceimpl已有什么dao,开发起来比较别扭,不太清晰
------解决方案--------------------
个人感觉,既然是baseserviceimpl的dao,就应该把userDao注给baseserviceimpl。其他serviceimpl想用userDao,再给其他的注入。这样至少别人一看配置文件就知道,层次很清楚。
既然是baseserviceimpl,里面放的就是公共的东西,除非特殊情况userDao用的地方非常多。
------解决方案--------------------
提取出来一个公共接口,里面注入Dao的sessionFactory数据

简单的CRUD查询操作。