0 0

Spring问题处理,求大神帮忙解决下0

[2014/07/30 11:59:05.720]- Exception occurred during processing request: Unable to instantiate Action, com.netease.marketing.transaction.action.commom.DbaSqlAction,  defined for 'checkdbasqllist' in namespace '/common'Error creating bean with name 'com.netease.marketing.transaction.action.commom.DbaSqlAction': Autowiring of fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.netease.marketing.service.DbaSqlService com.netease.marketing.transaction.action.commom.DbaSqlAction.dbasqlservice; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.netease.marketing.service.DbaSqlService] is defined: Unsatisfied dependency of type [class com.netease.marketing.service.DbaSqlService]: expected at least 1 matching bean
[2014/07/30 11:59:05.720]Unable to instantiate Action, com.netease.marketing.transaction.action.commom.DbaSqlAction,  defined for 'checkdbasqllist' in namespace '/common'Error creating bean with name 'com.netease.marketing.transaction.action.commom.DbaSqlAction': Autowiring of fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.netease.marketing.service.DbaSqlService com.netease.marketing.transaction.action.commom.DbaSqlAction.dbasqlservice; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.netease.marketing.service.DbaSqlService] is defined: Unsatisfied dependency of type [class com.netease.marketing.service.DbaSqlService]: expected at least 1 matching bean
[2014/07/30 11:59:05.720]       at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:316)
[2014/07/30 11:59:05.720]       at com.opensymphony.xwork2.DefaultActionInvocation.init(DefaultActionInvocation.java:397)
[2014/07/30 11:59:05.720]       at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:194)
[2014/07/30 11:59:05.720]       at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
[2014/07/30 11:59:05.720]       at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
[2014/07/30 11:59:05.720]       at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
[2014/07/30 11:59:05.720]       at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:553)
[2014/07/30 11:59:05.720]       at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
[2014/07/30 11:59:05.720]       at org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:93)
[2014/07/30 11:59:05.720]       at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
[2014/07/30 11:59:05.720]       at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:91)
[2014/07/30 11:59:05.720]       at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
[2014/07/30 11:59:05.720]       at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)
[2014/07/30 11:59:05.720]       at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265)
[2014/07/30 11:59:05.720]       at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:436)
[2014/07/30 11:59:05.720]       at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682)
[2014/07/30 11:59:05.720]       at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743)
[2014/07/30 11:59:05.720]       at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662)
[2014/07/30 11:59:05.720]       at java.lang.Thread.run(Thread.java:745)
[2014/07/30 11:59:05.720]Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.netease.marketing.transaction.action.commom.DbaSqlAction': Autowiring of fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.netease.marketing.service.DbaSqlService com.netease.marketing.transaction.action.commom.DbaSqlAction.dbasqlservice; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.netease.marketing.service.DbaSqlService] is defined: Unsatisfied dependency of type [class com.netease.marketing.service.DbaSqlService]: expected at least 1 matching bean
[2014/07/30 11:59:05.720]       at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessAfterInstantiation(AutowiredAnnotationBeanPostProcessor.java:243)
[2014/07/30 11:59:05.720]       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:959)
[2014/07/30 11:59:05.720]       at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireBeanProperties(AbstractAutowireCapableBeanFactory.java:329)
[2014/07/30 11:59:05.720]       at com.opensymphony.xwork2.spring.SpringObjectFactory.autoWireBean(SpringObjectFactory.java:203)
[2014/07/30 11:59:05.720]       at com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:183)
[2014/07/30 11:59:05.720]       at com.opensymphony.xwork2.spring.SpringObjectFactory.buildBean(SpringObjectFactory.java:154)
[2014/07/30 11:59:05.720]       at com.opensymphony.xwork2.ObjectFactory.buildBean(ObjectFactory.java:151)
[2014/07/30 11:59:05.720]       at com.opensymphony.xwork2.ObjectFactory.buildAction(ObjectFactory.java:121)
[2014/07/30 11:59:05.720]       at com.opensymphony.xwork2.DefaultActionInvocation.createAction(DefaultActionInvocation.java:297)
[2014/07/30 11:59:05.720]       ... 18 more
[2014/07/30 11:59:05.720]Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.netease.marketing.service.DbaSqlService com.netease.marketing.transaction.action.commom.DbaSqlAction.dbasqlservice; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.netease.marketing.service.DbaSqlService] is defined: Unsatisfied dependency of type [class com.netease.marketing.service.DbaSqlService]: expected at least 1 matching bean
[2014/07/30 11:59:05.720]       at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:435)
[2014/07/30 11:59:05.720]       at org.springframework.beans.factory.annotation.InjectionMetadata.injectFields(InjectionMetadata.java:105)
[2014/07/30 11:59:05.720]       at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessAfterInstantiation(AutowiredAnnotationBeanPostProcessor.java:240)
[2014/07/30 11:59:05.720]       ... 26 more
[2014/07/30 11:59:05.720]Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.netease.marketing.service.DbaSqlService] is defined: Unsatisfied dependency of type [class com.netease.marketing.service.DbaSqlService]: expected at least 1 matching bean
[2014/07/30 11:59:05.720]       at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:613)
[2014/07/30 11:59:05.720]       at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:412)
[2014/07/30 11:59:05.720]       ... 28 more

DbaSqlService中
@Service
@Transactional(readOnly=true)
public class DbaSqlService extends CommonAction{

applicationContext.xml中
<context:annotation-config /> 
<context:component-scan base-package="com.netease" />
<tx:annotation-driven transaction-manager="checkdbasqlTransactionManager"/>
    <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
<bean id="checkdbasqlTransactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="MarketingDataSource" />
</bean>

如果我把<tx:annotation-driven transaction-manager="checkdbasqlTransactionManager"/> 去掉就不会有以上问题,但是无法做事务操作了。请问这个是为什么呢?

1个答案 按时间排序 按投票排序

0 0

在spring的配置中缺少 action的bean  一般spring命名 applicationContext开头的配置文件 当然你们改了 也是可以的  ,就是 你上面 <param-value>classpath:beans.xml</param-value>
这个beans.xml文件中加上action的 bean配置
从你报错的地方来看 应该是这个方面的问题 你自己检查下 或者把源码发出来 大家看看

2014年7月31日 00:07

相关推荐

Global site tag (gtag.js) - Google Analytics