gpt4 book ai didi

java - 嵌入式 Jetty 上 servlet 中的依赖注入(inject)

转载 作者:行者123 更新时间:2023-12-01 10:38:23 25 4
gpt4 key购买 nike

我嵌入了 Jetty 服务器并添加了 servlet 映射。

ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/");
context.addServlet(RegisterServlet.class, "/user/register");

我想使用配置ApplicationContext.xml的spring框架在servlet中进行依赖注入(inject)。它应该和这里一样工作:
public class RegisterServlet extends HttpServlet {
private Service service;
@Override
public void init() throws ServletException {
super.init();
ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");
service = context.getBean("service", Service.class);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
...
}

但不使用 context.getBean("service")。

最佳答案

这样您就可以控制 servlet 实例化

Server server = new Server(port);
ServletHandler handler = new ServletHandler();
handler.addServletWithMapping(new ServletHolder(new RegisterServlet()), "/user/register");
server.setHandler(handler);
server.start();
所以现在你可以从某个 DI 容器中获取 servlet 实例

关于java - 嵌入式 Jetty 上 servlet 中的依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31639791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com