SSH在呼叫Service時獲取為空-解決辦法

_阿洋發表於2019-02-15

第一次拿到一個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框架遇到的問題之一,做下記錄。

相關文章