Spring Boot -01- 快速入门篇(图文教程) 今天开始不断整理 Spring Boot 2.0 版本学习笔记,大家可以在博客看到我的笔记,然后大家想看视频课程也可以到[慕课网]手机 app,去找[Spring Boot 2.0 深度实践]的课程,令人开心的是,课程完全免费! 什么是 Spring Boot? Spring Boot 是由 Pivotal 团队提供的全新框架.Spring Boot 是所有基于 Spring Framework 5.0 开发的项目的起点.Spring B…
本文主要介绍了在本地搭建并运行一个Spring应用,演示了Spring依赖注入的特性 1 环境搭建 1.1 Maven依赖 目前只用到依赖注入的功能,故以下三个包已满足使用. <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <ma…
课程链接: 1 解析 1.1 advice中aspect 切面传参 1.2 通知参数名称——argNames属性, 参数为 JoinPoint.ProceedingJoinPoint.JoinPointStaticPart时,可以忽略argNames属性 1.3 其余不重要的部分 2 代码演练 2.1 前置通知@before给advice传递参数 2.1 前置通知@before传递类参数 1 解析 1.1 advice中aspect 切面传参 String传参和类传参参照2.1和2.2 泛型传参…
1 解析 1.1 通知:after和afterreturning的区别 1.2 @RunWith 是什么? 2 代码演练 2.1 注解方式配置通知的两种方式 2.2 异常通知 2.3 非异常通知 1 解析 1.1 通知:after和afterreturning的区别 a after 后置通知相当于finally的功能,无论是否发生异常,都会执行,而返回后通知afterReturning 则在发生异常后,不再执行. b afterReturning返回后通知,一般有返回值,而后置通知after 不…
本节主要是模拟spring aop 的过程. 实现spring aop的过程 这一节老师虽然说是以后在工作中不常用这些api,实际上了解还是有好处的, 我们可以从中模拟一下spring aop的过程.所以,这节课是有必要的,如果没有的话,那才是失职. 将前一章中的xml配置方式改为了实现接口的实现方式 具体细节和使用参考开发文档(具体使用场景参考下一章)…
1 解析 1.1 通知执行顺序 2 代码演练 1 解析 1.1 通知执行顺序 aop执行方式为:前置通知==>所要增强的方法==>后置通知==>最终通知 在出现异常时会进行:前置通知==>所要增强的方法==>异常通知==>最终通知 而用xml进行配置时,是按照我们写好的顺序进行动态组合完成,最终和后置通知是随着xml配置的前后顺序改变的,但是经过测试不会影响前置和所要增强的方法的顺序,但是会影响最终和后置通知的位置. 我认为利用环绕通知进行方法的增强(aop:aroun…
2 代码演练 2.1 环绕通知(不带参数) 2.2 环绕通知(带参数) 2 代码演练 2.1 环绕通知(不带参数) 实体类: package com.imooc.aop.schema.advice.biz; public class AspectBiz { public void biz(){ System.out.println("MoocAspect biz"); // throw new RuntimeException(); } } 配置文件: <?xml version…
1 解析 1.1 类的方式实现各种通知需要实现的接口 1.2 创建Spring aop代理的优点及方法 1.3 代理控制切入点和通知的顺序的代码实现(具体完全实现,见代码2.1) 1.4 代理方式选择 2 代码演练 2.1 类的方式实现各种通知 2.2 类的方式实现各种通知(和2.1对比) 1 解析 1.1 类的方式实现各种通知需要实现的接口 前置通知:MethodBeforeAdvice 后置通知:AfterReturningAdvice 异常通知:ThrowsAdvice 环绕通知:Meth…
1 解析 1.1 使用global advisors demo 1.2 jdk代理和cglib代理的选择 1.3 如何强制使用CGLIB实现AOP? 1.4 JDK动态代理和CGLIB字节码生成的区别? 1.5 cglib的maven依赖 1.6  CGLIB代理的工作原理 1.7     简化的proxy定义 1.8 父子bean demo   2 代码演练 2.1 通配符使用 和 ProxyFactoryBean 连接点的选择 2.2 使用父子bean(parent标签使用) 1 解析 1.…
本节主要讲了在xml中配置切面的demo 1 解析 1.1 配置切面xml 1.2 配置切面xml 1.3 问:什么是动态代理? 2 代码演练 2.1 配置切面xml 1 解析 1.1 配置切面xml spring的所有切面和通知器必须放在一个<aop:config>内(可以配置多个<aop:config>元素),每一个<aop:config>可以包含point.advisor和aspect元素(必须按照顺序声明) 1.2 运用什么原理? <aop:config&…