我可以在非mvc类中使用服务层类的方法吗?

时间:2015-05-04 07:32:23

标签: spring-mvc model-view-controller service-layer

我想知道我是否可以使用标有@Service注释的服务层对象,并在非mvc-spring类中调用其中一个方法?

假设getUsers()中的方法service layer调用了Dao图层的getUsers()。为了在contoller中使用它,我必须在服务层实例中添加@Autowired - 注释。但是如果我想在非mvc类中使用类方法getUsers(),我该怎么做呢?

1 个答案:

答案 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