`
baobeituping
  • 浏览: 1043862 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

spring 2.0使用AOP实例(基于Annotation的配置方式)

 
阅读更多

使用Java5注解配置及使用Spring AOP
Spring2中的 AOP提供了使用AspectJ中定义的Java注解在Bean中配置切入点及通知的方法。这里演示演示这种使用方法,我们写一个包含使用了Java注解来标识切面相关信息的Bean,方法名称及内容跟上面AspectBean的完全一样,AspectAnnotationBean.java中的内容如下所示:
package springroad.demo.chap5.exampleB;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.After;
@Aspect
public class AspectAnnotationBean {
@Pointcut("execution(* springroad.demo.chap5.exampleB.Component.business*(..))")
public void somePointcut()
{
}
@Before("somePointcut()")
public void validateUser()
{
System.out.println("执行用户验证!");
}
@After("somePointcut()")
public void writeLogInfo()
{
System.out.println("书写日志信息");
}
@Before("somePointcut()")
public void beginTransaction()
{ 31
System.out.println("开始事务");
}
@After("somePointcut()")
public void endTransaction()
{
System.out.println("结束事务");
}
}
其中黑体部分的内容是相对于前面示例中AspectBean增加的。现在我们来修改Spring的配置文件,修改后aspect-spring.xml的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
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">
<aop:aspectj-autoproxy />
<bean id="aspectBean"
class="springroad.demo.chap5.exampleB.AspectAnnotationBean">
</bean>
<bean id="component"
class="springroad.demo.chap5.exampleB.ComponentImpl">
</bean>
</beans>
对比上一个配置文件,我们看到这个文件比前面一个简单多了,关于aop的配置只有一行,即<aop:aspectj-autoproxy/>。这时运行客户端示例代码,我们会发现,其输出的内容跟前面示例的内容完全一样(当然,这个例子要求你必须是在Jdk1.5及以上才能运行,因为java注解是Jdk1.5才引入的功能!)。

分享到:
评论

相关推荐

    spring aop实例annotation方法实现

    NULL 博文链接:https://bijian1013.iteye.com/blog/2142528

    spring aop xml 实例

    aop入门。

    SpringAOP的注解配置

    SpringAOP的注解配置完成切面的编程,完成execution,annotation两种表达式的实例Ddemo

    spring aop 实现源代码--xml and annotation(带lib包)

    在Spring1.2或之前的版本中,实现AOP的传统方式就是通过实现Spring的AOP API来定义Advice,并设置代理对象。Spring根据Adivce加入到业务流程的时机的不同,提供了四种不同的Advice:Before Advice、After Advice、...

    spring中自定义注解(annotation)与AOP中获取注解

    spring中自定义注解(annotation)与AOP中获取注解.通过实例演示自定义注解。

    详解Spring Aop实例之AspectJ注解配置

    本篇文章主要介绍了详解Spring Aop实例之AspectJ注解配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Spring的学习笔记

    (一) Annotation注解方式配置事务管理 31 (二) Spring事务选项 35 (三) XML文件形式配置Spring事务管理 37 四、 HibernateTemplate 38 (一) HibernateTemplate 38 (二) HibernateDaoSupport 39 第十一课:Spring整合...

    spring2.5 学习笔记

    (一) Annotation注解方式配置事务管理 31 (二) Spring事务选项 35 (三) XML文件形式配置Spring事务管理 37 四、 HibernateTemplate 38 (一) HibernateTemplate 38 (二) HibernateDaoSupport 39 第十一课:Spring整合...

    Spring API

    6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 ...

    Spring.3.x企业应用开发实战(完整版).part2

    4.11.2 使用基于Java类的配置信息启动Spring容器 4.12 不同配置方式比较 4.13 小结 第5章 Spring容器高级主题 5.1 Spring容器技术内幕 5.1.1 内部工作机制 5.1.2 BeanDefinition 5.1.3 InstantiationStrategy 5.1.4 ...

    Spring中文帮助文档

    6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 ...

    Spring3.x企业应用开发实战(完整版) part1

    4.11.2 使用基于Java类的配置信息启动Spring容器 4.12 不同配置方式比较 4.13 小结 第5章 Spring容器高级主题 5.1 Spring容器技术内幕 5.1.1 内部工作机制 5.1.2 BeanDefinition 5.1.3 InstantiationStrategy 5.1.4 ...

    SSH2框架搭建实例

    3、struts2的配置采用xml(目前不支持annotation),spring和hibernate使用annotation配置; 4、开发者下载该应用后,只需修改WebRoot\WEB-INF\applicationContext.xml,将其中数据库连接信息修改为自己的即可;

    Android AOP 注解详解及简单使用实例(三)

    Android AOP 注解详解及简单使用实例(三) 一、简介 在Android 里面 注解主要用来干这么几件事: 和编译器一起给你一些提示警告信息。 配合一些ide 可以更加方便快捷 安全有效的编写Java代码。谷歌出的support-...

    Bee事务注解@Tran使用实例工程

    Bee事务注解@Tran使用实例工程; 基于Spring boot + Bee; 涉及spring aop, 注解拦截,应该有类上和应该在方法的注解拦截. @within,@annotation使用实例.

    springmybatis

    恭喜你,环境搭建配置成功,接下来第二章,将讲述基于接口的操作方式,增删改查。 整个工程目录结构如下: 除非申明,文章均为一号门原创,转载请注明本文地址,谢谢! mybatis实战教程(mybatis in action)之二:以...

    低清版 大型门户网站是这样炼成的.pdf

    6.3.3 基于annotation方式的事务管理配置 400 6.4 “桃园三结义”——ssh 2组合开发框架始成 404 6.4.1 spring 2.5集成orm中间件hibernate 3.2 404 6.4.2 spring 2.5集成mvc框架struts 2 411 6.4.3 ssh 2组合...

    客户关系管理系统框架搭建(二)

    --3 配置本地化代理工程bean,这是spring整合hibernate的入口 --&gt; &lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt; &lt;!--表示在类路径下加载...

    Java/JavaEE 学习笔记

    第三章 Spring AOP(面向切面编程)..........351 第四章 Spring中的数据访问..........353 CVS学习笔记.................355 PL/SQL学习笔记............358 第一章 PL/SQL概述........................358 第二章 ...

Global site tag (gtag.js) - Google Analytics