Injeção de DAO em uma classe

2 respostas
Jedi_FeniX

Tenho uma classe simples, que usa um DAO.

public class CustomerControl {

   public void insertCustomer(Customer customer) {
       customer.setProcessed( 2 );
       CustomerDAO dao = new CustomerDAO();
       dao.create( customer );
   }

}

Sendo que toda hora que o programa chega na linha da DAO, dá um erro de NullPointerException, dentro da DAO, falando que o EntityManager está nulo. Fiz o mapeamento corretamente do meu dao no meu arquivo xml, mas mesmo assim o spring não está fazendo a injection corretamete.

2 Respostas

L

Mostre seu xml e sua classe CustomerDAO.

Se o entityManager está nulo é porque não foi injetado, certo?

Jedi_FeniX

Achei que o meu erro fosse nesta parte:

CustomerDAO dao = new CustomerDAO();

Achei que tivesse que pegar o dao no spring.

Abaixo segue uma parte do meu xml:

<bean name="customerDAO" class="test.spring.CustomerDAO" />

           <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
            <property name="loadTimeWeaver">
                <bean class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver" />
            </property>
        </bean>

        <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
            <property name="entityManagerFactory" ref="entityManagerFactory" />
        </bean>

        <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" />
Criado 29 de agosto de 2009
Ultima resposta 29 de ago. de 2009
Respostas 2
Participantes 2