【问题标题】:Avoid creating ApplicationContext in each method避免在每个方法中创建 ApplicationContext
【发布时间】:2015-11-18 13:06:27
【问题描述】:

我有我的 REST 控制器和方法:

@GET
@Path("/tests/{id}")
@Produces("application/json")
public Response getAvailableTestsNames(@PathParam("id") String id){
    ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
    StudentService studentService = (StudentService)context.getBean("studentService");
    Set<TestDTO> testDTOs = studentService.getAvailableTestsNames(id);

    return Response.status(200).entity(testDTOs).build();

}

如何避免每次都创建 ApplicationContext?我想在启动时创建它并使用 @Autowired 注释来注入我的 bean

我也在这里问过这个问题: jboss spring applicationContext load on start in web.xml 但是,该解决方案对我不起作用。我还是报错

【问题讨论】:

  • 什么错误?向我们展示。
  • 你有 any spring 上下文吗?控制器是如何加载的?不使用弹簧?
  • 最好的建议是建议阅读一些文档和官方教程,而不是一头扎进编码。
  • @kryger 你是对的

标签: java spring


【解决方案1】:

您可以使用@RestController 注释来注释您的休息控制器,并开始使用@Autowired 注入您的服务。

【讨论】:

  • 我这样做并在@Autowired 注入的服务上获得了 NullPointer
  • 那是你的配置有问题,能不能多放点源码?
猜你喜欢
  • 2015-01-19
  • 2016-11-29
  • 2012-11-28
  • 1970-01-01
  • 2021-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多