springboot Ioc Aop笔记

本文深入解析SpringBoot框架中的IOC(控制反转)和AOP(面向切面编程)核心概念。阐述了IOC如何通过第三方容器实现组件解耦,提升代码的灵活性与可维护性;同时探讨了AOP在解决系统层面问题如日志记录、事务管理和权限控制等方面的应用,以及其背后的代理模式和技术实现。
摘要由CSDN通过智能技术生成

springboot笔记

IOC

(控制反转)实现组件之间的解耦,提供第三方容器来实现A与B 对象之间的调用关系,即A对象的主动控制权交到了第三方容器上所以叫控制反转。
也叫依赖注入:以第三方容器作为主体,将需要控制的信息注入到A或B对象中,到达解耦。
以两个方面解释一个东西。

反射机制:IOC的基本技术。间接的操控目标对象,不需要JVM提前编译,运行时动态加载,来获取对象的基本属性和方法
反射机制优点:运行时获取类的信息,进行反编译
反射机制缺点: 1反射消耗资源
2反射调用方法,权限安全问题,破坏封装性
IOC优点:实现组件的解耦,提高灵活性和可维护性
IOC缺点: 1反射需要创建对象,有一定效率影响
2还是不够完美,像xml的方式,类名更改后,xml的类名还是要手动更改

Aop

(面向切面编程)解决系统层面问题,比如日志,事务,权限,即拦截器。
重点名词:(织入
1.有接口,使用JDK动态代理

  • 创建接口来实现类代理对象,增强类的方法
    利用Proxy 类中的newProxyInstance方法(参数:1类加载器,2增强犯方法的类接口,3实现该类的接口InvocationHandler),在handler中使用invok方法实现增强方法

2.没有接口,使用CGLIB动态代理

  • 创建子类来继承类代理对象,增强类的方法

aop执行顺序
spring4

  • 环绕通知前
  • @Before
  • 方法执行
  • 环绕通知后
  • @After
  • @AfterReturning

异常

  • 环绕通知前
  • @Before
  • @After
    *@Afterthrowing

spring5

  • 环绕通知前
  • @Before
  • 方法执行
  • @AfterReturning
  • @After
  • 环绕通知后

异常

  • 环绕通知前
  • @Before
  • @Afterthrowing
  • @After
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值