我有一个 WEB 应用程序。我被要求从 POJO 调用 Spring 应用程序内的类(服务)。
该服务不作为 Web 服务或 REST 公开。我只是一个罐子里的应用程序。我必须添加它来构建路径并调用服务。
会起作用吗??
我非常困惑!
我有一个 WEB 应用程序。我被要求从 POJO 调用 Spring 应用程序内的类(服务)。
该服务不作为 Web 服务或 REST 公开。我只是一个罐子里的应用程序。我必须添加它来构建路径并调用服务。
会起作用吗??
我非常困惑!
这里没有太多细节,但我假设这是一个使用 Spring MVC 的 Spring 应用程序,在这种情况下是的,没有理由不能将服务作为一个类来调用。
这就是为什么您可以在 Spring 中使用 JUnit 测试 @Controller 类的原因,它实际上只是一个 POJO。
下面的链接作为如何执行此操作的示例。
如果您的 pojo 是 Spring Bean,那么您可以像这样自动装配服务:
public class YourPojo {
@Autowired
YourService yourService;
}
您可能会考虑通过使用 @Component 注释 Pojo 或在 ApplicationContext.xml 中声明它来使您的 Pojo 成为 Spring Bean
如果没有,如果你有一个请求对象,你会得到这样的服务:
ServletContext sc = req.getSession().getServletContext();
ApplicationContext ac = WebApplicationContextUtils.getWebApplicationContext(sc);
YourService yourService = ac.getBean("yourService");