有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从POJO调用基于Spring的web应用程序类

我有一个WEB应用程序。我被要求从POJO调用Spring应用程序中的类(服务)

该服务既不公开为Webservice也不公开为REST。我只是把应用程序当作一个罐子。我必须添加这个来构建路径并调用服务

它会起作用吗

我非常困惑


共 (2) 个答案

  1. # 1 楼答案

    这里没有太多细节,但我假设这是一个使用Spring MVC的Spring应用程序,在这种情况下,是的,没有理由不能将服务作为类调用

    这就是为什么可以在Spring中使用JUnit测试@Controller类,它实际上只是一个POJO

    下面的链接是如何做到这一点的示例

    How to unit test a Spring MVC controller using @PathVariable?

  2. # 2 楼答案

    如果您的pojo是Spring Bean,那么您可以像这样自动连接服务:

    public class YourPojo {
       @Autowired
       YourService yourService; 
    }
    
    你可以考虑用Pojo做一个弹簧bean,用@组件注释它。 或者在应用程序上下文中声明它。xml

    如果没有,如果您有一个请求对象,您将获得如下服务:

    ServletContext sc = req.getSession().getServletContext();
    ApplicationContext ac = WebApplicationContextUtils.getWebApplicationContext(sc);
    YourService yourService = ac.getBean("yourService");