基于 XML 的 AOP 开发

快速入门

①导入 AOP 相关坐标

②创建目标接口和目标类(内部有切点)

③创建切面类(内部有增强方法)

④将目标类和切面类的对象创建权交给 spring

⑤在 applicationContext.xml 中配置织入关系

⑥测试代码

①导入 AOP 相关坐标

<!--导入spring的context坐标,context依赖aop-->
<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.0.5.RELEASE</version>
</dependency>
<!-- aspectj的织入 -->
<dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.13</version>
</dependency>

②创建目标接口和目标类(内部有切点)

public interface TargetInterface {public void method();
}public class Target implements TargetInterface {@Overridepublic void method() {System.out.println("Target running....");}
}

③创建切面类(内部有增强方法)

public class MyAspect {//前置增强方法public void before(){System.out.println("前置代码增强.....");}
}

④将目标类和切面类的对象创建权交给 spring

<!--配置目标类-->
<bean id="target" class="com.leon.aop.Target"></bean>
<!--配置切面类-->
<bean id="myAspect" class="com.leon.aop.MyAspect"></bean>

⑤在 applicationContext.xml 中配置织入关系

导入aop命名空间

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd">

⑤在 applicationContext.xml 中配置织入关系

配置切点表达式和前置增强的织入关系

<aop:config><!--引用myAspect的Bean为切面对象--><aop:aspect ref="myAspect"><!--配置Target的method方法执行时要进行myAspect的before方法前置增强--><aop:before method="before" pointcut="execution(public void com.leon.aop.Target.method())"></aop:before></aop:aspect>
</aop:config>

⑥测试代码

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class AopTest {@Autowiredprivate TargetInterface target;@Testpublic void test1(){target.method();}
}

xml方式实现aop-快速入门相关推荐

  1. 使用XML方式进行AOP编程(代码)

    UserDao.java接口: package com.liu.jdk;public interface UserDao {public void addUser();public void dele ...

  2. Spring AOP 快速入门

    文章目录 一. 什么是Spring AOP 二. 为什么要学习Spring AOP 三. 学习 Spring AOP 3.1 AOP 的组成 3.1.1 切面 (Aspect) 3.1.2 切点 (P ...

  3. [JavaWeb-XML]XML基本语法与快速入门

    语法: * 基本语法:1. xml文档的后缀名 .xml2. xml第一行必须定义为文档声明3. xml文档中有且仅有一个根标签4. 属性值必须使用引号(单双都可)引起来5. 标签必须正确关闭6. x ...

  4. spring 基于xml方式配置aop

    目录 什么是aop 模拟aop 配置 什么是aop 什么是aop 作用 在程序运行期间,在不修改源码的情况下对方法进行功能增强 优势 减少重复代码 提高开发效率 并且便于开发 2.aop关键概念 模拟 ...

  5. spring框架:简述AOP的使用(xml方式和注解方式)

    本人小白一枚,欢迎大家一起讨论学习,如有错误,还望大家指教. AOP概述 AOP的概念: AOP,全称Apect Oriented Programming,译为面向切面编程,简单的说它可以帮我们把程序 ...

  6. Spring Boot 2.x基础教程:快速入门

    点击蓝色"程序猿DD"关注我哟 来源:http://t./ <Star最多的Spring Boot教程继续更新了> 牛皮吹过了! Git仓库和博客专题页也改版完成! 是 ...

  7. spring cloud入门_Spring Boot 2.x基础教程:快速入门

    简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot ...

  8. (转)Hibernate快速入门

    http://blog.csdn.net/yerenyuan_pku/article/details/64209343 Hibernate框架介绍 什么是Hibernate 我们可以从度娘上摘抄这样有 ...

  9. 【转】Spring Boot快速入门

    为什么80%的码农都做不了架构师?>>>    简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复 ...

最新文章

  1. 10月份机房技术指标
  2. 【Flutter】Hero 动画 ( Hero 动画使用流程 | 创建 Hero 动画核心组件 | 创建源页面 | 创建目的页面 | 页面跳转 )
  3. java 多线程的同步问题_java多线程解决同步问题的几种方式,原理和代码
  4. vue项目统一响应_Vue响应式原理及总结
  5. 在Wireshark中过滤数据包
  6. 【Cocos新手入门】cocos creator + Visual Studio 做游戏开发的基础教程
  7. Zephyr_overlay文件讲解
  8. 算数基本定理 + 例题
  9. ffmpeg js转换音频_实践!实现纯前端下的音频剪辑处理
  10. qt学习(七)Sockt-TCP-UDP-BOARDCAST-MULI-CAST
  11. 教师如何创建在线查分系统
  12. python中的arange函数,Python中的arange是什么?和range有什么不同?
  13. python优雅代码大全_10个Python技巧帮你写出更优雅的代码
  14. 开源的「变」与「恒」:七大开源基金会负责人尖峰对谈
  15. 采用FPGA进行SDI输入输出时钟同步设计
  16. Linux操作系统实验系列之实验四管道通信
  17. java第二篇Java基础
  18. 机器人方向毕业设计论文撰写体会(2019年更新)
  19. 印度富士康的iPhone产能在扩产,对中国制造将产生深远影响
  20. 智慧物流数字孪生技术建设可视化系统

热门文章

  1. Xcode 6 打包ipa文件
  2. 块级元素与行级元素(内联元素)
  3. hdu 2072 单词数
  4. Linux性能测试 命令大全
  5. linux软连接与硬链接
  6. 读入一组文本行,打印最长的文本行
  7. 【Spring学习】Spring简介
  8. 【struts2】struts2拦截器
  9. 人生的主干,提及程序化
  10. 计算机的世界:[-bit之魂-]