Java org.springframework.beans.factory.unsatifiedDependencyException:通过方法'表示的未满足的依赖关系;anyMethodName';参数0:
我不知道这个设置有什么问题 避免:Java org.springframework.beans.factory.unsatifiedDependencyException:通过方法'表示的未满足的依赖关系;anyMethodName';参数0:,java,spring,hibernate,maven,spring-mvc,Java,Spring,Hibernate,Maven,Spring Mvc,我不知道这个设置有什么问题 避免: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userDao': Unsatisfied dependency expressed through me
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userDao': Unsatisfied dependency expressed through method 'anyMethodName' parameter 0: Error creating bean with name 'sessionFactory' defined in class path resource [hbn-config.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [hbn-config.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V
juil. 03, 2016 6:56:50 PM org.springframework.cache.ehcache.EhCacheManagerFactoryBean destroy
INFOS: Shutting down EhCache CacheManager
juil. 03, 2016 6:56:50 PM org.springframework.web.context.ContextLoader initWebApplicationContext
GRAVE: Context initialization failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userDao': Unsatisfied dependency expressed through method 'anyMethodName' parameter 0: Error creating bean with name 'sessionFactory' defined in class path resource [hbn-config.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [hbn-config.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.jboss.logging.Logger.debugf(Ljava/lang/String;I)V
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:651)
用户道:
@Repository
public class UserDao extends AbstractDao<User> {
private static Logger LOG = LoggerFactory.getLogger(UserDao.class);
public UserDao() {
}
public List<User> findAllUsers() {
Query q = getHibernateTemplate()
.getSessionFactory()
.openSession()
.createQuery("from " + entityClass.getSimpleName());
List<User> list = q.list();
return list;
}
webappContext:
<?xml version="1.0" encoding="UTF-8"?>...
<cache:annotation-driven />
<context:property-placeholder location="classpath:app.properties" />
<!-- Auto scan the components -->
<context:annotation-config />
<context:component-scan base-package="com.example" />
<bean id="applicationContextHolder"
class="com.example.myproject.core.util.ApplicationContextHolder" />
<import resource="classpath:hbn-config.xml" />
<import resource="classpath:cache-config.xml" />
。。。
hbn配置:
<?xml version="1.0" encoding="UTF-8"?>...
<!-- Hibernate session factory -->
<tx:annotation-driven />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<!-- Hibernate session factory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.max_fetch_depth">${hibernate.max_fetch_depth}</prop>
<prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>
<prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
<prop key="hibernate.temp.use_jdbc_metadata_defaults">${hibernate.temp.use_jdbc_metadata_defaults}</prop>
<prop key="hibernate.order_inserts">${hibernate.order_inserts}</prop>
<prop key="hibernate.order_updates">${hibernate.order_updates}</prop>
</props>
</property>
<property name="packagesToScan" value="com.example.myproject.core.model" />
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<aop:config>
<aop:pointcut id="serviceMethods"
expression="execution(*com.example.myproject.core.dao.*Dao.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" read-only="false" />
<!-- <tx:method name="save*" propagation="REQUIRED" read-only="false"
/> -->
<!-- <tx:method name="add*" propagation="REQUIRED" read-only="false" /> -->
<!-- <tx:method name="update*" propagation="REQUIRED" read-only="false"
/> -->
<!-- <tx:method name="delete*" propagation="REQUIRED" read-only="false"
/> -->
<!-- <tx:method name="export*" propagation="REQUIRED" read-only="false"
/> -->
<!-- <tx:method name="import*" propagation="REQUIRED" read-only="false"
/> -->
</tx:attributes>
</tx:advice>
</beans>
。。。
${hibernate.dial}
${hibernate.show_sql}
${hibernate.max\u fetch\u depth}
${hibernate.jdbc.fetch_size}
${hibernate.jdbc.batch_size}
${hibernate.temp.use\u jdbc\u metadata\u defaults}
${hibernate.order\u inserts}
${hibernate.order\u updates}
类路径中jboss日志记录的版本与Hibernate预期的版本不同。类路径中jboss日志记录的版本与Hibernate预期的版本不同。实际上,您可以从问题中删除所有代码,并向我们展示您的日志,您可以从问题中删除所有代码,并向我们展示您的POM
<?xml version="1.0" encoding="UTF-8"?>...
<cache:annotation-driven />
<context:property-placeholder location="classpath:app.properties" />
<!-- Auto scan the components -->
<context:annotation-config />
<context:component-scan base-package="com.example" />
<bean id="applicationContextHolder"
class="com.example.myproject.core.util.ApplicationContextHolder" />
<import resource="classpath:hbn-config.xml" />
<import resource="classpath:cache-config.xml" />
<?xml version="1.0" encoding="UTF-8"?>...
<!-- Hibernate session factory -->
<tx:annotation-driven />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<!-- Hibernate session factory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.max_fetch_depth">${hibernate.max_fetch_depth}</prop>
<prop key="hibernate.jdbc.fetch_size">${hibernate.jdbc.fetch_size}</prop>
<prop key="hibernate.jdbc.batch_size">${hibernate.jdbc.batch_size}</prop>
<prop key="hibernate.temp.use_jdbc_metadata_defaults">${hibernate.temp.use_jdbc_metadata_defaults}</prop>
<prop key="hibernate.order_inserts">${hibernate.order_inserts}</prop>
<prop key="hibernate.order_updates">${hibernate.order_updates}</prop>
</props>
</property>
<property name="packagesToScan" value="com.example.myproject.core.model" />
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<aop:config>
<aop:pointcut id="serviceMethods"
expression="execution(*com.example.myproject.core.dao.*Dao.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethods" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" read-only="false" />
<!-- <tx:method name="save*" propagation="REQUIRED" read-only="false"
/> -->
<!-- <tx:method name="add*" propagation="REQUIRED" read-only="false" /> -->
<!-- <tx:method name="update*" propagation="REQUIRED" read-only="false"
/> -->
<!-- <tx:method name="delete*" propagation="REQUIRED" read-only="false"
/> -->
<!-- <tx:method name="export*" propagation="REQUIRED" read-only="false"
/> -->
<!-- <tx:method name="import*" propagation="REQUIRED" read-only="false"
/> -->
</tx:attributes>
</tx:advice>
</beans>