Pessoal,
Estou com um aplicação que utiliza JSF e Spring, realizei toda configuração do Spring, mas ao fazer o deploy a seguinte mensagem de erro aparece:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: net/sf/hibernate/Session
java.lang.NoClassDefFoundError: net/sf/hibernate/Session
Meu applicationContext
applicationContext.xml
<beans>
<bean name="user" class="src.User" />
<bean name="userForm" class="src.UserForm" singleton="false">
<property name="daoService">
<ref bean="userManager" />
</property>
<property name="user">
<ref bean="user" />
</property>
</bean>
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:jdbc.properties</value>
</property>
</bean>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${jdbc.driverClassName}</value>
</property>
<property name="url">
<value>${jdbc.url}</value>
</property>
<property name="username">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
</bean>
<bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>src/mapping/User.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="mySessionFactory" />
</property>
</bean>
<bean id="txProxyTemplate" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<bean id="userDao" class="src.UserDaoHibernate">
<property name="sessionFactory">
<ref bean="mySessionFactory" />
</property>
</bean>
<bean id="userManager" parent="txProxyTemplate">
<property name="target">
<bean class="src.UserManager">
<property name="userDao">
<ref bean="userDao" />
</property>
</bean>
</property>
</bean>
</beans>
Pesquisei um pouco em alguns foruns e parece que o erro é porque o hibernate não consegue incializar a sessão, não tenho certeza.
Ai vei minha classe que implementa o HibernateDaoSupport
UserDaoHibernate.java
public class UserDaoHibernate extends HibernateDaoSupport
implements UserDao{
public void inseri(User user) {
getHibernateTemplate().saveOrUpdate(user);
if (logger.isDebugEnabled()) {
logger.debug("userId set to: " + user.getId());
}
}
public Collection listaUsuarios() {
return getHibernateTemplate().find("from User");
}
}
Alguém pode me dar uma dica… valeu… agradeço a todos!