第一次拿到一个SSH框架,先了解了一下框架的大致结构。
然后自己去随便加一个自己的模块。首先写的是查询,写实体类、hbm.xml、Dao、DaoImpl、Biz、BizImpl,Action。写完后去执行却发现后台报错,调试一下说在Action中,EmployeeBiz为null。
原因就是ApplicationContext.xml中少了一些东西。
//applicationContext.xml
//以Employee为例
<bean id="EmployeeDaoImpl" class="com.accp.dao.impl.EmployeeDaoImpl">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="EmployeeBizImpl" class="com.accp.biz.impl.EmployeeBizImpl">
<property name="employeeDao" ref="EmployeeDaoImpl" />
</bean>
<bean id="EmployeeAction" class="com.accp.action.EmployeeAction" scope="prototype">
<property name="employeeBiz" ref="EmployeeBizImpl" />
</bean>
然后需要在BizImpl与Action中加上一些东西,获取bean
//BizImpl
private EmployeeDao employeeDao;
public void setEmployeeDao(EmployeeDao employeeDao) {
this.employeeDao = employeeDao;
}
//Action
private EmployeeBiz employeeBiz;
public void setEmployeeBiz(EmployeeBiz employeeBiz) {
this.employeeBiz = employeeBiz;
}
注意这里的名字要与ApplicationContext.xml中name相同。
然后再去调用Biz去执行方法的时候就不会报空指针异常了。
以上是我第一次使用SSH框架遇到的问题之一,做下记录。