Olá.
Estou tentando testar um DAO eu utiliza o suporte Hibernate do Spring. Segue o código do método que quero testar:
[code]public class RegistroDAO extends HibernateDaoSupport implements GenericDAO {
public void save(Object object) {
getHibernateTemplate().save(object);
}
}[/code]
Só que ao testar a action que utiliza esse método, ocorre um NPE, pois acredito que o Spring deve estar “inicializado” para que eu possa utilizar essa integração.
A dúvida é: como testar DAOs que utilizam a integraçã Hibernate + Spring ?
Obrigado!
keller
Agosto 27, 2006, 5:51pm
#2
Poderia colocar o applicationContext.xml e a classe que utiliza o DAO ?
Até…
Claro gui…
[code]
<!-- SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.c3p0.minPoolSize">5</prop>
<prop key="hibernate.c3p0.maxPoolSize">20</prop>
<prop key="hibernate.c3p0.timeout">600</prop>
<prop key="hibernate.c3p0.max_statement">50</prop>
<prop key="hibernate.c3p0.testConnectionOnCheckout">false</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>\br\com\empresa\model\Registro.hbm.xml</value>
</list>
</property>
</bean>
<!-- DAOs -->
[/code]
keller
Agosto 27, 2006, 5:58pm
#4
E a classe que utiliza o DAO ?
Até…
[code]public class RegistroAction extends ActionSupport {
private Registro registro;
private RegistroDAO registroDAO;
public String save() throws Exception {
registroDAO.save(registro);
addActionMessage(getText("save.success"));
return SUCCESS;
}[/code]
keller
Agosto 27, 2006, 8:20pm
#6
Gere os Getters e Setters , deve funcionar depois disso.
Espero que ajude…
[]s
Guilherme, eu coloquei apenas um trecho da action. Ela possui os get /set para o a classe Registro e RegistroDAO.
Quando eu executo o teste, a NPE é acusada no seguinte trecho:
Por isso, deduzi que o spring não está sendo “inicializado”.
keller
Agosto 27, 2006, 8:38pm
#8
Desculpe KurumaJava nao li toda a sua pergunta.
Faça o seguinte adicione isso ao web.xml
<!-- Configuracao do Spring -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext*</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Espero que resolva o problema…
[]s