第5章 Spring AOP基本概念

本章介绍Spring中AOP的基本概念和应用。
5-1 AOP基本概念及特点

5-2 配置切面aspect

ref:引用另外一个Bean

5-3 配置切入点Pointcut

注意后两项的区别,前一个是两个点,后一个是三个点。

Spring Aop、Spring 支持的AspectJ这部分是都支持的。

匹配所有的方法

在执行这个包下面的所有类的任何类型方法的时候

单一的方法匹配:只是执行这个类的这个方法的时候

只是执行SystemArchitecture类的businessService()方法的时候

以某个单词或字母结尾的

5-4 Advice应用(上)
声明Before advice的两种方式

前置通知会调用哪一个方法去执行:method="before",这个方法是aBean这个Bean里面的方法,针对当前的方法

引用的方式免去了如果是前置、后置通知,pointcut是一样的时候每次都去声明,每次都去修改。

前置通知

切面类MoocAspect当中的before方法,before方法会在什么时候被触发?所有以Biz结尾的这个包下的类的任何方法在执行之前都会执行MoocAspect的beofore方法

返回之后的通知

returning:返回值

void是一种特殊类型的返回。

返回的通知:在返回之后,也可以把它理解成方法结束之后或者方法结束前的最后一行代码

5-5 Advice应用(下)
(循环)环绕通知的声明

配置实例:

5-6 Introductions应用

匹配什么样的类型

具体使用哪一个接口:也就是实现指定接口的通知对象,这里的指定接口就是通过implement-interface指定的接口

接口实现类

所有基于配置文件的aspects只支持singleton模式

基于配置的AOP小结





Spring入门篇——第5章 Spring AOP基本概念的更多相关文章

  1. Spring入门篇——第6章 Spring AOP的API介绍

    第6章 Spring AOP的API介绍 主要介绍Spring AOP中常用的API. 6-1 Spring AOP API的Pointcut.advice概念及应用 映射方法是sa开头的所有方法 如 ...

  2. Spring入门篇——第7章 Spring对AspectJ的支持

    第7章 Spring对AspectJ的支持 介绍Spring对AspectJ的支持 7-1 AspectJ介绍及Pointcut注解应用 实例 完成了在xml文件的配置 7-2 Advice定义及实例 ...

  3. Spring入门篇——第4章 Spring Bean装配(下)

    第4章 Spring Bean装配(下) 介绍Bean的注解实现,Autowired注解说明,基于java的容器注解说明,以及Spring对JSR支持的说明 4-1 Spring Bean装配之Bea ...

  4. Spring入门篇——第3章 Spring Bean装配(上)

    第3章 Spring Bean装配(上) 介绍Bean的作用域.生命周期.Aware接口.自动装配和Resource等内容. 3-1 Spring Bean装配之Bean的配置项及作用域 从上至下依次 ...

  5. Spring入门篇——第2章 Spring IOC容器

    第2章 Spring IOC容器 介绍Spring IOC容器的基本概念和应用 2-1 IOC及Bean容器 自己的理解:什么是IOC?就是利用配置文件(外部容器)来创建对象. 在IOC容器中,所有对 ...

  6. Spring入门篇——第1章 概述

    第1章 概述 本章对课程的情况进行介绍,并介绍框架和Spring概况. 1-1 Spring入门课程简介 1-2 Spring概况 1-3 Spring框架

  7. Spring入门篇总结:

    本文是对慕课网上"搞定SSM开发"路径的系列课程的总结,详细的项目文档和课程总结放在github上了.点击查看 视频传送门:Spring入门篇 该门课程主要从Spring的Bean ...

  8. SSM(spring mvc+spring+mybatis)学习路径——1-1、spring入门篇

    目录 1-1 Spring入门篇 专题一.IOC 接口及面向接口编程 什么是IOC Spring的Bean配置 Bean的初始化 Spring的常用注入方式 专题二.Bean Bean配置项 Bean ...

  9. spring 入门篇

    spring 入门篇         相对于Hibernate(冬眠),Spring(春天),具有更多的诗意与希望的感觉,是为了解决传统J2EE开发效率过低.开发商之间不统一.没有真正实现“写一次到处 ...

随机推荐

  1. 【OpenCV开发】使用OpenCV的OpenCL(ocl)模块

    参加OpenCV的OpenCL模块(以下称OCL)移植工作已经有2个月了.这里我说移植而不是开发,是因为大部分OCL模块的函数都是从已经很成熟的GPU模块移植过来的.于是目前阶段OCL模块所支持的函数 ...

  2. [python] 一行命令搭建http服务内网传文件

    在Linux服务器上或者Windows服务器上,只要安装python,均可以使用此命令,建立一个内网可以快速访问的WEB服务. 在想要搭建WEB服务的目录下,使用Python3.x内置方法: pyth ...

  3. SQL Server事务(二)

    事务的四大特性: 1.原子性:原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能 ...

  4. 分享 Shiro 学习过程中遇到的一些问题

    最近在学习 shiro 安全框架后,自己手写了一个小的管理系统 web 项目,并使用 shiro 作为安全管理框架.接下来分享一下在这过程中,遇到的一些问题以及自己的解决思路和方法. 一.Log ou ...

  5. lg 1478

    好多天没碰代码了,感觉忘得差不多了,没有学习感觉罪恶深重,从今天起开始补题啊啊! 简单零一背包,套模板就行. #include<bits/stdc++.h> using namespace ...

  6. 宝塔面板liunx开启ssl域名后无法访问解决方法

    不打开宝塔面板的ssl会不安全,打开了就会提示ssl证书不能使用的错误 如下所示: 您的连接不是私密连接 攻击者可能会试图从 你的ip 窃取您的信息(例如:密码.通讯内容或信用卡信息).了解详情 NE ...

  7. jupyter的控件交互

    jupyter实现控件交互 jupyter notebook 是一个交互式IDE 直接上jupyter notebook界面截图

  8. LeetCode 答案(python)18-24

    18.四个数之和 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target ...

  9. 第十章 ZYNQ-MIZ701 DDR3 PS读写操作方案

      本编文章的目的主要用简明的方法在纯PS里对DDR3进行读写. 本文所使用的开发板是Miz701 PC 开发环境版本:Vivado 2015.4 Xilinx SDK 2015.4 10.0本章难度 ...

  10. Prometheus Operator 自动发现和持久化

    Prometheus Operator 自动发现和持久化 之前在 Prometheus Operator 下面自定义一个监控选项,以及自定义报警规则的使用.那么我们还能够直接使用前面课程中的自动发现功 ...