我想知道我是否可以使用标有@Service
注释的服务层对象,并在非mvc-spring类中调用其中一个方法?
假设getUsers()
中的方法service layer
调用了Dao图层的getUsers()
。为了在contoller
中使用它,我必须在服务层实例中添加@Autowired
- 注释。但是如果我想在非mvc类中使用类方法getUsers()
,我该怎么做呢?
答案 0 :(得分:0)
要使用服务,该对象必须容器管理。也就是说,这个对象的生命周期必须由Spring管理(创建,破坏,初始化......)。
因此,要在对象中注入服务实例,它也必须是Spring bean(服务,组件,控制器......)。
因此,它可能是一个MVC对象,但它没有。
另一方面,还有另一种选择:使用注释@Configurable
。
具有此注释的对象可以是应用程序管理,但Spring使用字节代码方面可以注入它的依赖项。因此,尽管使用新语句创建对象,但Spring会调用此调用并解析所有带注释的依赖项。
阅读本文了解更多详情:
http://docs.spring.io/spring/docs/3.0.0.M3/spring-framework-reference/html/ch08s08.html