2017-01-31 102 views
0

配置在指定以下XML配置:有註解相當於Spring AOP的AOP:包括autoproxies

<aop:aspectj-autoproxy> 
    <aop:include name="myBean" /> 
</aop:aspectj-autoproxy> 

我們都知道,@EnableAspectJAutoProxy註釋是相當於AspectJ的自動代理的XML配置但是有沒有一個基於java的註釋等價於aop:include XML配置?我廣泛搜索,找不到。

+0

你在使用AspectJ做什麼,Spring中的大多數事情都可以不用,因爲大多數「穿着」都可以用JDK或CGLib代理完成。 –

+0

@KlausGroenbaek我正在使用CGLIB代理。你知道發佈的問題的答案嗎? – mario

+0

簡短的回答沒有沒有。在使用基於Java的配置時考慮所有方面。爲什麼你需要/想要指定哪些方面需要考慮?如果你真的想要創建一個'BeanFactoryPostProcessor'來查找名爲'AUTO_PROXY_CREATOR_BEAN_NAME'的定義並指定一個要包含的表達式列表。或者您可以使用配置文件來限制方面的數量。 –

回答

0

通常你會告訴Spring你正在使用一個特殊的功能,比如事務管理,它會創建所需的代理。

例如@EnableTransactionManagement將導致Spring爲使用@Transactional的組件(服務,控制器和存儲庫)創建代理,Spring將自動查找需要代理的bean。

它的工作原理與@EnableScheduling相同,導致Spring檢測到@Scheduled方法,@EnableCaching檢測到@Cached方法。