Java 如何在类servlet中进行依赖项注入?
我有两个servlet,它们都使用相同的对象来处理数据库。但使用构造函数或setter作为对象的注入引用是不可能的。请帮助我,在我的情况下如何做到这一点: 第一个Servlet:Java 如何在类servlet中进行依赖项注入?,java,servlets,Java,Servlets,我有两个servlet,它们都使用相同的对象来处理数据库。但使用构造函数或setter作为对象的注入引用是不可能的。请帮助我,在我的情况下如何做到这一点: 第一个Servlet: public class AddUserServlet extends HttpServlet { private DBJointPool db; // Как передать этот объект в класс? @Override protected void doPost(Htt
public class AddUserServlet extends HttpServlet {
private DBJointPool db; // Как передать этот объект в класс?
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
db.somethingToDoWithDatabaseConnectionPool();
}
}
第二个Servlet:
public class DeleteUserServlet extends HttpServlet {
private DBJointPool db; // Как передать этот объект в класс?
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
db.somethingToDoWithDatabaseConnectionPool();
}
}
我使用没有框架的JDBC驱动程序 如果您的项目中包含
spring boot
,则以下是满足您需求的解决方案:
@Bean
public ServletRegistrationBean addUserServlet(DBJointPool db) {
// suppose there is a constructor for your servlet
final ServletRegistrationBean servlet = new ServletRegistrationBean(new AddUserServlet(db));
servlet.setName("addUserServlet");
servlet.setUrlMappings(Collections.singletonList("/addUser.*"));
return servlet;
}
并公开DeleteUserServlet
,如下所示:
@Bean
public ServletRegistrationBean deleteUserServlet(DBJointPool db) {
// suppose there is a constructor for your servlet
final ServletRegistrationBean servlet = new ServletRegistrationBean(new DeleteUserServlet(db));
servlet.setName("deleteUserServlet");
servlet.setUrlMappings(Collections.singletonList("/deleteUser.*"));
return servlet;
}
当然,您必须在其他地方公开DBJointPool
,例如:
@Bean
public DBJointPool dBJointPool() {
return new DBJointPool();
}
然而,若您并没有使用spring引导
,但spring
框架是可以接受的,那个么在应用程序上下文xml文件中配置这些bean也可以
最后,如果<代码> Spring <代码>是不可接受的,请考虑单例,例如“代码>静态< /代码>成员。对于这些实例。
如果有任何问题,请告诉我。假设您引用了这篇文章,这篇文章解释了您的问题的一个很好的解决方案。您不使用框架的具体原因是什么?@RajithPemabandu,但这仍然不是依赖注入。谢谢,我不使用Spring。对不起,我忘了把它写在我的问题里。春天是我java学习的下一章。不要删除你的答案,我认为这是一个很好的未来案例。然后这些bean的静态实例可以解决你的问题。