原理总结-spring

使命

帮助程序员从部分重复性工作中解脱出来-重复的对象创建,重复的工厂实现,其他公用功能等

描述

spring 是一个轻量级、非入侵形式框架
spring 是一个管理bean的容器,通过配置管理bean的生成和他们之间的关系
spring 提供了事物管理,持久化框架集成等功能

特性

  • IOC
  • AOP

IOC

控制反转 实现基础-反射

spring封装了bean的创建,通过内部实现的bean工厂和xml配置,创建各个bean和bean之间的依赖关系(DI 关系注入/依赖注入)

AOP

面向切面编程 实现基础-代理/反射

解决对一类行为之前或之后,统一添加一些附加逻辑

静态代理

编译时创建
单独实现一个类,通过实现相关业务接口,去代理相关业务的相关操作,并在相关操作前后添加需要代理的功能逻辑

动态代理

运行时创建
为了减少重复性代码,避免一个方法一个代理,实现动态的根据bean、方法名和参数,动态的添加代理

spring的实现方式

  1. java的动态代理方式。
  2. CGlib方式。
  3. Aspectj方式。

AOP中的基本概念

  1. 切面(Aspect)
    和业务逻辑无关的,需要在整个系统,横向考虑的功能模块,如相同问题的日志处理。
  2. 连接点(JoinPoint)
    连接点指程序运行过程中的某个阶段点,连接点的位置包括before、after、around以及throw四种。
  3. 通知(Advice)
    通知即在某个连接点的处理逻辑,即切面功能的实际实现。
  4. 切入点(PointCut)
    切入点即一系列连接点的集合,它指明通知将在何时被触发。可以指定能类名,也可以是匹配类名和方法名的正则表达式。当匹配的类或者方法被调用的时候,就会在这个匹配的地方应用通知。
  5. 目标对象(Target)
    目标对象指实际业务逻辑实现对象,即需要代理的对象,在AOP中,目标对象可以专心实现自身的业务逻辑,通知功能在程序运行期间被自动引入。
  6. 代理(Proxy)
    代理是目标对象被引入通知后创建的对象,这个对象既拥有目标对象的全部功能,而且拥有通知提供的附加功能。

事务管理

持久化框架集成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值