Spring

Spring 框架
企业级系统大规模,用户数量多,数据规模大,功能众多 性能和安全性要求高 业务复杂。
什么是Spring ?(Java EE的春天)
1、是轻量级的 IOC/DI 和 AOP容器的开源框架
2、Spring 提倡以 最少侵入 的方式来管理应用中的代码,意味着我们可以随时的安装或卸载Spring
3、Spring的使命 简化Java开发

目标:
使现有的技术更加的易用
内容:
IOC /DI AOP实现、数据访问支持、声明式事务
Spring的设计理念是面向Bean编程、两个核心的技术IOC(控制反转)/DI(依赖注入)、AOP(面向切面编程)
优点:
开源免费
一个轻量级的 低侵入式、低耦合(降低个组件之间的耦合度,实现软件个层之间的解耦)
依赖注入的特性将组件关系透明化,降低了耦合度
声明式事务管理
与第三方框架的良好整合
方便解耦,简化开发(高内聚,低耦合)

框架:是能完成一定功能的项目半成品
被侵入式设计:从框架的角度可以理解为,无需继承 框架提供任何的类,这样我们在更换框架时,之前写过的代码几乎可以继续使用。
容器:程序设计角度就是装对象的对象,因为存在放入、拿出等操作,所以容器还要管理对象的生命周期 。

IOC(控制反转)/DI(依赖注入)
控制反转(IOC):不是什么技术,是一种设计思想,就是将原本在程序中手动创建对象的控制权交给Spring 框架 来管理。
正控:要使用某个对象,需要自己负责对象的创建
反控:要使用某个对象,只需要从Spring 容器中获取所需要的对象,不关心对象的创建过程,也就是把创建对象的控制权反转给了Spring框架。
依赖注入(DI):
Spring创建对象的过程中,将对象依赖属性(值,集合,对象)通过配置设置给对象。

Spring容器是Spring的核心,容器将创建对象,把他们连接到一起,配置,并管理他们的整个生命周期,从创建到销毁。
Spring 容器使用 DI(依赖注入) 来管理组成一个应用程序的组件,这对象被称为 Spring Beans
Spring 框架的基本功能 核心容器主要的组件是BeanFactory 他是工厂模式的实现。
(工厂模式: 我们在创建对象时不会对客户端暴露创建逻辑,并且通过视同一个共同的接口来指向创建的对象)

总结:
控制反转:依赖于容器给予的资源,控制权落到了容器的手中,不主动new 实例化对象,而是需要哪个对象,便向容器发送请求,让容器帮自己new一个对象出来
依赖注入:所需的对象,需要依赖容器注入,本质上是IOC和DI是同一思想下不同维度的表现。
在这里插入图片描述

ORM 对象关系映射

AOP

什么是AOP?

AOP 一种编程思想

AOP (Aspect oriented program) 面向切面编程 如果说IOC是spring核心,那么面向切面编程就是Spring 最为重要的功能之一。

面向切面编程,通过预编译方式和运行区间动态代理实现程序功能的统一的维护的一种技术,是oop的延续,也是Spring框架中 重要的一个内容,是函数式编程的一种衍生范型,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑部分之间的耦合度减低,提高程序的可重用性,提高开发效率。

1.AOP 采取的横向抽取机制,取代了传统的纵向继承体系重复性代码

2.使用范围,事务管理,性能监视,安全检查,缓存,日志等

3.Spring Aop 使用纯Java实现。不需要专门的编译过程和类加载器。在运行期通过代理方式向目标类织入增强代 码。

4.Aspectj 是一个基于Java语言的AOP框架,Spring 2.0开始,Spring AOP 引入了对Aspectj 的支持,Aspectj 扩展了Java语言,提供了一个专门的编译器,在编译时提供横向代码的织入。

1.目标类(target) :需要被代理的类

2.连接点(JoinPoint) : 是指那些可能被拦截的方法

3.切入点(PointCut) : 已经被增强的连接点

在哪些类 ,哪些方法上切入

4.通知/增强(advice) 增强代码

​ 在方法执行的什么时机(方法执行 前 后 中………)

5.织入(Weaving) 把增强advice应用到目标对象 target来创建新的代理proxy的过程

6.proxy 代理类

7.切面(Aspect) 是切入点PointCut和通知advice的结合

切面 = 切入点 + 通知。在什么时机,什么地方,做什么增强

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5p84z1FY-1620711127139)(C:\Users\16068\AppData\Roaming\Typora\typora-user-images\1619857167844.png)]

ice的结合

切面 = 切入点 + 通知。在什么时机,什么地方,做什么增强
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值