Spring 配置报错 org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression

Miracle_lucy 2016-10-10 11:18:47

@Aspect()
public class HelloWorldAspect {

//@Pointcut(value="execution(* com.baker.example.*(..)) && args(param)", argNames = "param")
@Pointcut(value="execution(* com.baker.example..*.*(..))")
public void beforePointcut() {}

@Before(value = "beforePointcut()")
public void beforeAdvice(JoinPoint jp) {
System.out.println("===========before advice param:" + jp.getSignature().getName());
}
}

public class HelloWorldService {
public void sayBefore(String str){

System.out.println("-----------hello world!!------------------"+str);
}
}



<bean id="helloWorldService"
class="com.baker.example.HelloWorldService"/>
<bean id="aspect" class="com.baker.example.HelloWorldAspect"/>
...全文
755 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Miracle_lucy 2016-10-10
  • 打赏
  • 举报
回复
在网上找资源,都是版本原因的: 如果要使用AspectJ完成注解切面需要注意下面的JDK与AspectJ的匹配:   JDK1.6 —— aspectJ1.6   JDK1.7 —— aspectJ1.7.3+   我这里搜到了一个1.7.4的版本,亲测可用。 http://www.cnblogs.com/xing901022/p/4267563.html 版本已经替换成新的,但是依然报错。我报的这个错貌似不是因为版本, 初学不知道到底哪里配置错了 还是表达式写的有误?请指点一二。
Miracle_lucy 2016-10-10
  • 打赏
  • 举报
回复
报错信息:

6-10-10 10:41:30,911][DEBUG] - Found AspectJ method: public void com.baker.example.HelloWorldAspect.beforeAdvice(org.aspectj.lang.JoinPoint)
[2016-10-10 10:41:30,957][INFO] - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@10713c7: defining beans [org.springframework.aop.config.internalAutoProxyCreator,helloWorldService,aspect]; root of factory hierarchy
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'helloWorldService' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut beforePointcut
Caused by: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut beforePointcut
	at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:317)
	at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:189)
	at org.springframework.aop.aspectj.AspectJExpressionPointcut.checkReadyToMatch(AspectJExpressionPointcut.java:176)
	at org.springframework.aop.aspectj.AspectJExpressionPointcut.getClassFilter(AspectJExpressionPointcut.java:157)
	at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:189)
	at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:244)
	at org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:278)
	at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:83)
	at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:66)
	at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:296)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:313)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1181)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:122)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:66)
	at com.baker.example.Test.testAnnotationBeforeAdvice(Test.java:17)
	at com.baker.example.Test.main(Test.java:25)
Miracle_lucy 2016-10-10
  • 打赏
  • 举报
回复
To allow the creation of truly modular software, OOP has evolved into aspect-oriented programming. AspectJ is a mature AOP implementation for Java, now integrated with Spring. AspectJ in Action, Second Edition is a fully updated, major revision of Ramnivas Laddad's best-selling first edition. It's a hands-on guide for Java developers. After introducing the core principles of AOP, it shows you how to create reusable solutions using AspectJ 6 and Spring 3. You'll master key features including annotation-based syntax, load-time weaver, annotation-based crosscutting, and Spring-AspectJ integration. Building on familiar technologies such as JDBC, Hibernate, JPA, Spring Security, Spring MVC, and Swing, you'll apply AOP to common problems encountered in enterprise applications. This book requires no previous experience in AOP and AspectJ, but it assumes you're familiar with OOP, Java, and the basics of Spring. "Clear, concisely worded, well-organized ... a pleasure to read." -From the Foreword by Rod Johnson, Creator of the Spring Framework "This book teaches you how to think in aspects. It is essential reading for both beginners who know nothing about AOP and experts who think they know it all." -Andrew Eisenberg, AspectJ Development Tools Project Committer "Ramnivas showcases how to get the best out of AspectJ and Spring." -Andy Clement, AspectJ Project Lead "One of the best Java books in years." -Andrew Rhine, Software Engineer, eSecLending "By far the best reference for Spring AOP and AspectJ." -Paul Benedict, Software Engineer, Argus Health Systems "Ramnivas expertly demystifies the awesome power of aspect-oriented programming." -Craig Walls, author of Spring in Action
activation-1.1.jar antlr-2.7.2.jar aopalliance-1.0.jar aopalliance.jar apache-commons-codec-1.4.jar asm-3.3.1.jar asm-3.3.jar asm-commons-3.3.jar asm-tree-3.3.jar axis2-java2wsdl-1.0.jar builder-0.6.2.jar c3p0-0.9.1.2.jar cglib-2.2.2.jar cglib-2.2.jar classworlds-1.1.jar com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar com.springsource.net.sf.cglib-2.2.0.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aopalliance-sources-1.0.0.jar com.springsource.org.apache.commons.logging-1.1.1.jar com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar commons-beanutils-1.8.0.jar commons-beanutils-1.8.3.jar commons-chain-1.2.jar commons-codec-1.10.jar commons-codec-1.9.jar commons-collections-3.1.jar commons-collections-3.2.jar commons-dbcp-1.2.jar commons-digester-2.0.jar commons-fileupload-1.2.jar commons-fileupload-1.3.2.jar commons-fileupload-1.3.jar commons-io-1.3.1.jar commons-io-2.0.1.jar commons-io-2.2.jar commons-lang-2.4.jar commons-lang3-3.1.jar commons-lang3-3.2.jar commons-logging-1.1.1.jar commons-logging-1.1.3.jar commons-logging-1.2.jar commons-logging-api-1.1.jar commons-validator-1.3.1.jar core-0.6.2.jar cxf-api-2.7.4.jar cxf-rt-bindings-soap-2.7.4.jar cxf-rt-bindings-xml-2.7.4.jar cxf-rt-core-2.7.4.jar cxf-rt-databinding-jaxb-2.7.4.jar cxf-rt-frontend-jaxws-2.7.4.jar cxf-rt-frontend-simple-2.7.4.jar cxf-rt-transports-http-2.7.4.jar cxf-rt-ws-addr-2.7.4.jar cxf-rt-ws-policy-2.7.4.jar cxf-site-export-1.0-20130910.143757-9.jar dom4j-1.6.1.jar druid-1.0.12.jar dwr-1.1.1.jar ezmorph-1.0.6.jar fastjson-1.1.15.jar freemarker-2.3.19.jar freemarker-2.3.22.jar geronimo-javamail_1.4_spec-1.7.1.jar geronimo-jta_1.1_spec-1.1.1.jar google-collections-1.0.jar google-gxp-0.2.4-beta.jar gson-2.2.4.jar guava-r09.jar httpclient-4.4.jar httpcore-4.4.jar jackson-annotations-2.5.0.jar jackson-core-2.5.0.jar jackson-core-asl-1.9.2.jar jackson-databind-2.3.4.jar jackson-databind-2.5.0.jar jackson-mapper-asl-1.9.2.jar jackson-module-jaxb-annotations-2.1.0.jar jai_imag

81,087

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧