spring与servlet集成开发对象管理问题解决方法
一、问题描述:
spring与servlet集成项目开发时,对象统一由spring管理。但是servlet中调用业务层对象时,new对象时无法初始化,致使程序运行报NullPointException。
二、解决方法:
在servlet中,针对需要调用的业务层对象,交由spring管理。也就是说业务层对象按常规写在spring配置文件中,然后在servlet中的init()方法里获取业务层对象并初始化。
例如:
public void init() throws ServletException {
super.init();
ServletContext context = this.getServletContext();
WebApplicationContext apContext = WebApplicationContextUtils.getWebApplicationContext(context);
this.setObjName1((ObjName1)apContext.getBean("objName1"));//ObjName1为业务层对象,参数objName1为spring配置中的beanName
this.setObjName2((ObjName2)apContext.getBean("objName2"));
}