在ssh框架下;
有一个功能类SomeService.java 其接口为ISomeService.java
一般情况下在用的地方,定义一个属性,使用@Service 与 @Autowired就可实现属性注入,如下:
@Service
public class XXXXAction {
@Autowired
private ISomeService someService;
... ...
}
现在我有个问题是,可否在实体类(POJO)中注入一个SomeService对象;
User是一个实体。
类似下面的写法:
public class User {
@Autowired
private ISomeService someService;
... ...
}
我想要在User的某个方法中用到someService,希望用hibernate查询出所有User对象已注入了someService;
比如:List<User> users = XX.findByHql("from User");
此时,希望users中的每个对象中someService都被正确赋值,不为null
这个自动注入的功能能实现吗?有可能没有
------解决思路----------------------
被三层架构给毒害了,,,
Spring注入dao,注入service和注入其它的类有什么区别吗??
没有的.Spring功能远比你现在这样用的强大.
------解决思路----------------------
通过加注解注入肯定是不可能的,因为hibernate的内部实现跟spring没啥关系,所以通过hibernate查询出来的对象不会自动注入。
像你那种方式肯定可以,不过奇怪的是为什么有这种奇怪的写法。同样的需求应该可以有很多种方式来实现吧。