簡體   English   中英

在Spring Boot中配置事務后,AspectJ無法正常工作

[英]AspectJ not working after Transaction configuration in Spring Boot

首先,我遇到事務無法正常工作的問題,因此我將配置從@EnableTransactionManagement更新為@EnableTransactionManagement(proxyTargetClass=true) ,但是在更新后,此錯誤在啟動時拋出。

在此處輸入圖片說明

在注釋了與AspectJ相關的所有代碼之后,這些錯誤消失了,並且事務運行正常,但是我缺少了AspectJ函數。

我試圖用@EnableTransactionManagement(mode=AdviceMode.PROXY)@EnableTransactionManagement @EnableLoadTimeWeaving替換@EnableTransactionManagement(proxyTargetClass=true)@EnableTransactionManagement @EnableLoadTimeWeaving ,它們都沒有讓我使用AspectJ,使用調試器我可以看到建議沒有執行完全沒有

AppConfig.java

@EnableAutoConfiguration
@ComponentScan(basePackages = { "com.geopro" })
@EnableJpaRepositories(basePackages = { "com.geopro.repositories" })
@EntityScan(basePackages = { "com.geopro.entities" })
@EnableTransactionManagement(proxyTargetClass=true)//(mode=AdviceMode.ASPECTJ)//
public class AppConfig {
    @Bean
    public HibernateJpaSessionFactoryBean sessionFactory(EntityManagerFactory emf) {
         HibernateJpaSessionFactoryBean factory = new HibernateJpaSessionFactoryBean();
         factory.setEntityManagerFactory(emf);
         return factory;
    }
}

故事的寓意是, 永遠不要在同一個類中混合使用Transaction和AspectJ函數 ,我了解到,Transaction在其內部AOP中使用的困難方式是,其AOP與用戶AOP不能很好地配合使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM