2012-05-11 50 views
0

在我的方面,我有以下方法:AspectJ的 - 註釋的存在在連接點的表達不承認

@Before("execution (* org.xx.xx.xx..*.*(@Standardized (*),..))") 
public void standardize(JoinPoint jp) throws Throwable { 
} 

的目標是找到其中至少有一個參數註釋我的應用程序包中的所有方法與@Standardized(未與@Standardized而不同註釋的一個類型)

PS:@Standardized是一個自定義註解。

從我的文檔上閱讀,這樣的配置應該是正確的(讓我知道如果不),但是當我在JBoss服務器部署下,我的應用程序,我有以下異常:

java.lang.IllegalArgumentException異常:警告敵不過這種類型名稱:標準化

詳情:

11.05.12 17:02:35 ERROR - [email protected]: Context initialization failed 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.annotation.AnnotationTransactionAttributeSource#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.config.internalTransactionAdvisor': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: warning no match for this type name: Standardized [Xlint:invalidAbsoluteTypeName] 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 

我(@Standardized *,...),而不是(@Standardized(*)試過了, ..) (哪一個將不會有我知道的相同結果),但我仍然有相同的錯誤。

是否有人知道爲什麼嗎?

在此先感謝您的幫助。

問候。

回答

2

除非@Standardized註釋是默認包,您需要爲註釋指定FQN名稱或使用@*..Standardized這樣的模式。

+0

喜尤金,當然現在的工作,非常感謝 – kij