本篇内容介绍了“Spring AOP的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联建站长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为天坛街道企业提供专业的成都做网站、网站设计,天坛街道网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
毕竟是***次使用Spring AOP,按照Reference中的介绍,准备使用Annotation来完成对AOP的配置。来看一下我做的步骤:
一、需要使用Spring2.0的jar包,现在已经发布正式版的2.0了,可以从http://www.springframework.org/上下载到***的2.0版本。加入到项目的classpath中去。
二、需要在配置文件中启用新的spring2.0的schema或者是dtd。
1、在Spring的xml配置文件中加入新的schema:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"
default-autowire="byName" default-lazy-init="true">
2、“如果使用Java 5的话,推荐使用Spring提供的@AspectJ切面支持,通过这种方式声明Spring AOP中使用的切面。 "@AspectJ"使用了Java 5的注解,可以将切面声明为普通的Java类。”——Spring reference
3、为了使用Spring AOP的Annotation,在配置文件中加入
4、编写切面类:
public class ArticleRemoteAccountsService {
/** *//**
* 在发帖成功之后,给用户银币账户冲值
*
* @param arg
* @throws AccountsException
* @throws InstantiationException
* @throws IllegalAccessException
*/
@After("execution(* com.company.ArticleManager.saveArticle(..))"
+ " && args(arg)")
public void exSilByPost(Article arg) throws AccountsException,
InstantiationException, IllegalAccessException {
if (arg.getLastUpdateTime() == null
&& arg.getArticleByParentId() == null
&& arg.getArticleByRootId() == null) {
// TODO 主题帖
} else if (arg.getLastUpdateTime() == null
&& (arg.getArticleByParentId() != null || arg
.getArticleByRootId() != null)) {
// TODO 回帖
}
}
}
这里需要注意的是使用Annotation的Poincut语法,execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)这里就不累诉了。同时要注意的如何得到参数的问题,写法参考如上。
“Spring AOP的用法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!