我可以在非 mvc class 中使用服务层 class 的方法吗?
Can I use method of service layer class in non mvc class?
我想知道我是否可以使用标有 @Service
注释的服务层对象并在非 mvc-spring class 中调用其方法之一?
说在service layer
中有一个方法getUsers()
调用了Dao层的getUsers()
。为了在 contoller
中使用它,我必须在服务层实例中添加 @Autowired
-annotation。但是如果我想在非mvc class中使用class方法getUsers()
,我该怎么做呢?
为了使用服务,该对象必须容器管理。也就是说,这个对象的生命周期必须由Spring(创建,销毁,初始化,...)来管理。
因此,要在对象中注入您的服务实例,它也必须是一个 Spring bean(服务、组件、控制器...)。
所以,它可能是一个 MVC 对象,但不一定是。
另一方面,还有另一种选择:使用注释 @Configurable
.
带有此注释的对象可以应用程序管理,但是Spring,使用字节代码方面,可以注入它的依赖项。因此,尽管您使用新语句创建对象,Spring 检测此调用并解析所有带注释的依赖项。
阅读此内容了解更多详情:
http://docs.spring.io/spring/docs/3.0.0.M3/spring-framework-reference/html/ch08s08.html
我想知道我是否可以使用标有 @Service
注释的服务层对象并在非 mvc-spring class 中调用其方法之一?
说在service layer
中有一个方法getUsers()
调用了Dao层的getUsers()
。为了在 contoller
中使用它,我必须在服务层实例中添加 @Autowired
-annotation。但是如果我想在非mvc class中使用class方法getUsers()
,我该怎么做呢?
为了使用服务,该对象必须容器管理。也就是说,这个对象的生命周期必须由Spring(创建,销毁,初始化,...)来管理。
因此,要在对象中注入您的服务实例,它也必须是一个 Spring bean(服务、组件、控制器...)。
所以,它可能是一个 MVC 对象,但不一定是。
另一方面,还有另一种选择:使用注释 @Configurable
.
带有此注释的对象可以应用程序管理,但是Spring,使用字节代码方面,可以注入它的依赖项。因此,尽管您使用新语句创建对象,Spring 检测此调用并解析所有带注释的依赖项。
阅读此内容了解更多详情:
http://docs.spring.io/spring/docs/3.0.0.M3/spring-framework-reference/html/ch08s08.html