2012年2月28日12:46:54PMorg.springframework.context.support.AbstractApplicationContext prepareRefresh INFO:更新org.springframework.context.support.ClassPathXmlApplicationContext@780024:開始日[火2月28日12:46:54 GMT + 05: 2012年30月]; コンテキスト階層のルート2012年2月28日12:46:54PMorg.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions情報:クラスパスリソースからのXMLBean定義のロード[newSpringXMLConfig.xml]2012年2月28日12:46:55 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons情報:org.springframework.beans.factory.support.DefaultListableBeanFactory@ef98acのシングルトンの事前インスタンス化:Beanの定義[org.springframework.aop.config.internalAutoProxyCreator、tri、cir 、shape、LAspect]; 工場階層のルート2012年2月28日12:46:55PMorg。springframework.beans.factory.support.DefaultSingletonBeanRegistry destroySingletons情報:org.springframework.beans.factory.support.DefaultListableBeanFactory@ef98acのシングルトンを破棄しています:Beanを定義しています[org.springframework.aop.config.internalAutoProxyCreator、tri、cir、shape、LAspect] ; ファクトリ階層のルートスレッド"main"の例外org.springframework.beans.factory.BeanCreationException:クラスパスリソース[newSpringXMLConfig.xml]で定義された「tri」という名前のBeanの作成中にエラーが発生しました:Beanの初期化に失敗しました。ネストされた例外はjava.lang.IllegalArgumentExceptionです:ポイントカットが整形式ではありません:文字位置4に「名前パターン」が必要ですget()^ DefaultListableBeanFactory @ ef98ac:Beanの定義[org.springframework.aop.config.internalAutoProxyCreator、tri、cir、shape、LAspect]; ファクトリ階層のルートスレッド"main"の例外org.springframework.beans.factory.BeanCreationException:クラスパスリソース[newSpringXMLConfig.xml]で定義された「tri」という名前のBeanの作成中にエラーが発生しました:Beanの初期化に失敗しました。ネストされた例外はjava.lang.IllegalArgumentExceptionです:ポイントカットが整形式ではありません:文字位置4に「名前パターン」が必要ですget()^ DefaultListableBeanFactory @ ef98ac:Beanの定義[org.springframework.aop.config.internalAutoProxyCreator、tri、cir、shape、LAspect]; ファクトリ階層のルートスレッド"main"の例外org.springframework.beans.factory.BeanCreationException:クラスパスリソース[newSpringXMLConfig.xml]で定義された「tri」という名前のBeanの作成中にエラーが発生しました:Beanの初期化に失敗しました。ネストされた例外はjava.lang.IllegalArgumentExceptionです:ポイントカットが整形式ではありません:文字位置4に「名前パターン」が必要ですget()^ クラスパスリソース[newSpringXMLConfig.xml]で定義:Beanの初期化に失敗しました。ネストされた例外はjava.lang.IllegalArgumentExceptionです:ポイントカットが整形式ではありません:文字位置4に「名前パターン」が必要ですget()^ クラスパスリソース[newSpringXMLConfig.xml]で定義:Beanの初期化に失敗しました。ネストされた例外はjava.lang.IllegalArgumentExceptionです:ポイントカットが整形式ではありません:文字位置4に「名前パターン」が必要ですget()^
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at sam.mainaop.main(mainaop.java:16)
原因:java.lang.IllegalArgumentException:ポイントカットが整形式ではありません:文字位置4に「名前パターン」が必要ですget()^
at org.aspectj.weaver.tools.PointcutParser.resolvePointcutExpression(PointcutParser.java:316)
at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:294)
at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:195)
at org.springframework.aop.aspectj.AspectJExpressionPointcut.checkReadyToMatch(AspectJExpressionPointcut.java:181)
at org.springframework.aop.aspectj.AspectJExpressionPointcut.getClassFilter(AspectJExpressionPointcut.java:162)
at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:200)
at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:254)
at org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:286)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findAdvisorsThatCanApply(AbstractAdvisorAutoProxyCreator.java:117)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:87)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:68)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:359)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:322)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:407)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1426)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
... 11 more
Javaの結果:1 BUILD SUCCESSFUL(合計時間:1秒)
とコード:
package sam;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
@Aspect public class LoggingAspect {
@Before("get()")
public void LoggingAdvice() {
System.out.println("Good Afternoon");
}
@Before("get()")
public void LAdvice() {
System.out.println("Good Morning");
}
@Pointcut("execution(* get*())")
public void get() { }
}