0

データベースにデータを挿入しようとするたびに、NPE (null ポインター例外) が発生します。この問題を解決するのを手伝ってください。春に必要なすべての必要なライブラリをインポートしました。これは、すべての Bean を構成した applicationContext.xml ファイルです。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

<bean id="personService" class="com.ecommerce.assignment.service.PersonService">
    <property name="personDAO" ref="personDAO" />
</bean>
<bean id="personBean" class="com.ecommerce.assignment.bean.PersonBean" />
<bean id="personDAO" class="com.ecommerce.assignment.dao.PersonDAO" />
</beans>

これは人のDAOのインターフェースです。

public interface IPersonDAO {
    public void addPerson(Person instance);
}

この personDAO クラスは、IpersonDAO インターフェイスとその実装されていないメソッドを実装しています。

public class PersonDAO implements IPersonDAO {

        @Override
        public void addPerson(Person instance) {
            Session session = HibernateUtil.getSessionFactory().openSession();
            session.beginTransaction().begin();

            session.saveOrUpdate(instance);

            session.getTransaction().commit();
            session.close();
        }
    }

これはインターフェイス personService です。public interface IPersonService { public void addPerson(Person インスタンス); }

   public class PersonService implements IPersonService,Serializable {
        private IPersonDAO personDAO;

        public IPersonDAO getPersonDAO() {
            return personDAO;
        }

        public void setPersonDAO(IPersonDAO personDAO) {
            this.personDAO = personDAO;
        }

        @Override
        public void addPerson(Person instance) {
            getPersonDAO().addPerson(instance);
        }
}

public class PersonBean implements Serializable {

    private static final long serialVersionUID = 1L;
    private String emailAddress;
    private String password;
    private String username;
    @ManagedProperty(value = "#{personService}")
    private IPersonService iPersonService;

public void addPerson(){
        try{
            Person person = new Person();
            person.setUsername(getUsername());
            person.setEmailAddress(getEmailAddress());
            person.setPassword(getPassword());
            iPersonService.addPerson(person);
        }
        catch(Exception ex){
            ex.printStackTrace();
        }

    }
}
4

1 に答える 1