org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named

qwe1163301083 2016-11-10 04:35:08
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:694)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1157)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:280)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:956)
at com.ccic.itcdservice.test.dao.TestRequirement.findAdd(TestRequirement.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:322)
... 3 more
[ERROR] 2016-11-10 16:34:41:118 :Job (DEFAULT.TestRequirementJobMethod threw an exception.
org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'findAdd' on target class [class com.ccic.itcdservice.test.dao.TestRequirement] failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager' is defined]
at org.quartz.core.JobRunShell.run(JobRunShell.java:214)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
* Nested Exception (Underlying Cause) ---------------
org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'findAdd' on target class [class com.ccic.itcdservice.test.dao.TestRequirement] failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager' is defined
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:331)
at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:112)
at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'transactionManager' is defined
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:694)
at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1157)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:280)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:956)
at com.ccic.itcdservice.test.dao.TestRequirement.findAdd(TestRequirement.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:269)
at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:322)
... 3 more
[DEBUG] 2016-11-10 16:35:00:014 :Calling execute on job DEFAULT.TestRequirementJobMethod
...全文
486 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bcsflilong 2016-11-11
  • 打赏
  • 举报
回复
引用 3 楼 fangmingshijie 的回复:
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext( "classpath*:applicationContext-transaction.xml,classpath*:applicationContext.xml"); 这里应该传一个string数组吧? 没加载到配置文件,所以没有这个bean
赞同这个
  • 打赏
  • 举报
回复
楼上说得对。
qwe1163301083 2016-11-11
  • 打赏
  • 举报
回复
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext( "classpath*:applicationContext-transaction.xml,classpath*:applicationContext.xml"); 这个地方只能放string类型的参数 不能放数组 问题解决了,直接注入 @Autowired private DataSourceTransactionManager txManager; DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); // 事物隔离级别,开启新事务 TransactionStatus status = txManager.getTransaction(def); // 获得事务状态
  • 打赏
  • 举报
回复
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext( "classpath*:applicationContext-transaction.xml,classpath*:applicationContext.xml"); 这里应该传一个string数组吧? 没加载到配置文件,所以没有这个bean
qwe1163301083 2016-11-10
  • 打赏
  • 举报
回复
// 添加事务控制 ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext( "classpath*:applicationContext-transaction.xml,classpath*:applicationContext.xml"); DataSourceTransactionManager transactionManager = (DataSourceTransactionManager) ctx .getBean("transactionManager"); DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); // 事物隔离级别,开启新事务 TransactionStatus status = transactionManager.getTransaction(def); // 获得事务状态 在这里打算手动控制事务的时候:在DataSourceTransactionManager transactionManager = (DataSourceTransactionManager) ctx .getBean("transactionManager");这里报什么的异常了,求各位帮忙解答下
qwe1163301083 2016-11-10
  • 打赏
  • 举报
回复
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!--所有以query开头的方法都是只读的 --> <tx:method name="find*" read-only="true" /> <!--其他方法使用默认事务策略 --> <tx:method name="*"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="myPointcut" expression="execution(* com.ccic.itcdservice.*.bsh.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="myPointcut" /> </aop:config> <!-- 本地使用--> <bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource" destroy-method="close"> <property name="driverClass" value="${jdbc.driver}" /> <property name="jdbcUrl" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> 这是配置文件

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧