Привет всем, я работаю с Spring MVC и у меня есть вопрос.
У меня есть определение компонента для транзакции:
<tx:annotation-driven transaction-manager="txManager"/>
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
Но когда я запускаю свое приложение, у меня появляется следующее исключение:
2019-05-24 18:14:51 DEBUG o.s.b.d.LoggingFailureAnalysisReporter -
Приложение не удалось запустить из-за исключения
org.springframework.beans.factory.support.BeanDefinitionOverrideException:
Неверное определение бина с именем
'Org.springframework.transaction.config.internalTransactionAdvisor'
определено в ресурсе пути к классу
[Орг / springframework / транзакция / аннотации / ProxyTransactionManagementConfiguration.class]:
Невозможно зарегистрировать определение bean-компонента [Root bean: class [null]; Объем =;
абстрактные = ложь; lazyInit = ложь; autowireMode = 3; dependencyCheck = 0;
autowireCandidate = TRUE; первичные = ложь;
factoryBeanName = org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration;
factoryMethodName = transactionAdvisor; initMethodName = NULL;
destroyMethodName = (вывод); определено в ресурсе пути к классу
[Орг / springframework / транзакции / аннотаций / ProxyTransactionManagementConfiguration.class]]
для бобов
'Org.springframework.transaction.config.internalTransactionAdvisor':
Уже есть [Root bean: класс
[Org.springframework.transaction.interceptor.BeanFactoryTransactionAttributeSourceAdvisor];
Объем =; абстрактные = ложь; lazyInit = ложь; autowireMode = 0;
dependencyCheck = 0; autowireCandidate = TRUE; первичные = ложь;
factoryBeanName = NULL; factoryMethodName = NULL; initMethodName = NULL;
destroyMethodName = null] связанный. в
org.springframework.beans.factory.support.DefaultListableBeanFactory.registerBeanDefinition (DefaultListableBeanFactory.java:897)
в
org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod (ConfigurationClassBeanDefinitionReader.java:274)
в
org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass (ConfigurationClassBeanDefinitionReader.java:141)
в
org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions (ConfigurationClassBeanDefinitionReader.java:117)
в
org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions (ConfigurationClassPostProcessor.java:327)
в
org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry (ConfigurationClassPostProcessor.java:232)
в
org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors (PostProcessorRegistrationDelegate.java:275)
в
org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors (PostProcessorRegistrationDelegate.java:95)
в
org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors (AbstractApplicationContext.java:705)
в
org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:531)
в
org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:142)
в
org.springframework.boot.SpringApplication.refresh (SpringApplication.java:775)
в
org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:397)
в
org.springframework.boot.SpringApplication.run (SpringApplication.java:316)
в
org.springframework.boot.SpringApplication.run (SpringApplication.java:1260)
в
org.springframework.boot.SpringApplication.run (SpringApplication.java:1248)
Когда я комментировал tx: annotation-drive все нормально, но метод с аннотацией @Transactional не работал. Что я делаю неправильно?
Мои зависимости от gradle:
compile group: 'org.springframework', name: 'spring-web', version: '5.1.5.RELEASE'
compile group: 'org.springframework', name: 'spring-webmvc', version: '5.1.5.RELEASE'
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.1.3.RELEASE'
compile group: 'org.springframework', name: 'spring-jdbc', version: '5.1.5.RELEASE'