我将使用 Swing、Spring 框架和 Hibernate 开发桌面应用程序。我想通过使用注释来映射 POJO。我开发了一个代码但我不知道哪里出了问题......这是我的应用程序的快照。
POJO:
@Table(name = "emp_master", schema = "test")
public class EmpMaster extends Model {
private Integer empId;
private String empName;
private Double salary;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "emp_id", unique = true, nullable = false, precision = 131089, scale = 0)
public Integer getEmpId() {
return empId;
}
public void setEmpId(Integer empId) {
this.empId = empId;
}
我的主要 GUI 类:
public static void main(String args[]) {
String[] contextPaths = new String[]{"ApplicationContext.xml"};
new ClassPathXmlApplicationContext(contextPaths);
此类包含通过单击我要保存记录的按钮的按钮。按钮的 actionListener 下的代码:
private IEmpMasterService empMasterService;
//getter setter for empMasterService//
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String name = jTextField1.getText();
String salary = jTextField2.getText();
EmpMaster empMaster = new EmpMaster();
empMaster.setEmpName(name);
empMaster.setSalary(Double.parseDouble(salary));
//at this line I get error NullPointerException
InternalResultsResponse<EmpMaster> response = getEmpMasterService().maintainEmpMaster(empMaster);
}
IEmpMasterService
是一个包含 id、name、salary 的接口。
在 Pojo-def.xml 中:
<context:annotation-config />
<context:component-scan base-package="org" />
<import resource="datasource.xml" />
<bean id="mainFrame" class="org.UI.EmpManager">
<property name="title"> <value>Spring Example</value></property>
</bean>
<bean id="empManager" class="org.UI.EmpManager">
<property name="empMasterService" ref="empMasterServiceImpl"></property>
</bean>
<bean id="empMasterServiceImpl" class="org.service.EmpMasterService">
<property name="empMasterDAO" ref="empMasterDAOTarget"></property>
</bean>
<bean id="empMasterDAOTarget" class="org.DAO.EmpMasterDAO">
<property name="hibernateTemplate" ref="matrixHibernateTemplate"/>
</bean>
我已经正确创建了所有服务类和 dao 类,我还配置了 datasource.xml 并且在单独的项目中工作,但是我在主 GUI 类中遇到错误getEmpMasterService()
:NullPointerException
。
我认为将接口映射到实现者类有问题,谁能告诉我我做错了什么?