Spring2.0 AOP使用心得

更新时间:2023-11-25 17:16:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Spring AOP使用心得

本文介绍Spring AOP使用心得,以及在Spring的xml配置文件中加入新的schema。

毕竟是第一次使用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:

1.

5. xsi:schemaLocation=\

http://www.springframework.org/schema/beans/spring-beans-2.0.xsd 6. http://www.springframework.org/schema/aop

http://www.springframework.org/schema/aop/spring-aop-2.0.xsd

7. http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx-2.0.xsd\

8. default-autowire=\ default-lazy-init=\>

2、“如果使用Java 5的话,推荐使用Spring提供的@AspectJ切面支持,通过这种方式声明Spring AOP中使用的切面。 \使用了Java 5的注解,可以将切面声明为普通的Java类。”——Spring reference

3、为了使用Spring AOP的Annotation,在配置文件中加入。 4、编写切面类:

1. public class ArticleRemoteAccountsService { 2.

3.

4. /** *//**

5. * 在发帖成功之后,给用户银币账户冲值 6. *

7. * @param arg

8. * @throws AccountsException 9. * @throws InstantiationException 10. * @throws IllegalAccessException 11. */

12. @After(\com.company.ArticleManager.saveArticle(..)

)\

13. + \&& args(arg)\

14. public void exSilByPost(Article arg) throws AccountsExcept

ion,

15. InstantiationException, IllegalAccessException

{ 16.

17. if (arg.getLastUpdateTime() == null

18. && arg.getArticleByParentId() == nul

l

19. && arg.getArticleByRootId() == null)

{

20. // TODO 主题帖 21.

22. } else if (arg.getLastUpdateTime() == null 23. && (arg.getArticleByParentId() != nu

ll || arg

24. .getArticleByRootId()

!= null)) {

25. // TODO 回帖 26.

27. } 28.

29. } 30. 31. }

这里需要注意的是使用Annotation的Poincut语法,execution(modifiers-pattern? ret-type-pattern declaring-type-pattern?

name-pattern(param-pattern) throws-pattern?)这里就不累诉了。同时要注意的如何得到参数的问题,写法参考如上。

本文来源:https://www.bwwdw.com/article/w0kt.html

Top