Spring--spring中有什么

概念

定义

Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

核心

IOC(Inversion Of Control)

IOC(控制反转):把本省自己创建对象的权利反转给了工厂(容器)
原来:我们在获取对象时,都是采用 new 的方式。 是主动的。
现在:我们获取对象时,同时跟工厂要,有工厂为我们查找或者创建对象。 是被动的。
对比如下:
在这里插入图片描述
IOC中bean的XML配置方式如下:
https://blog.csdn.net/Sunny5319/article/details/91493016
IOC中bean的注解配置方式如下:
https://blog.csdn.net/Sunny5319/article/details/91536025
DI(依赖注入)Dependency Injection。 它是 spring 框架核心 ioc 的具体实现。
我们的程序在编写时, 通过控制反转, 把对象的创建交给了 spring,但是代码中不可能出现没有依赖的情况。
ioc 解耦只是降低他们的依赖关系,但不会消除。 例如:我们的业务层仍会调用持久层的方法。
那这种业务层和持久层的依赖关系, 在使用 spring 之后, 就让 spring 来维护了。
简单的说,就是坐等框架把持久层对象传入业务层,而不用我们自己去获取。
分类:
(1)构造函数注入
(2)set方法注入

AOP(Aspect Oriented Programing)

AOP(面向切面编程)
1.AOP是基于IOC的,是对OOP的有益补充。
2.AOP是对程序进行横向切分,把程序中的公共部分抽离出来,如图:
在这里插入图片描述

原理

动态代理
JDK动态代理
— 基于接口的动态代理
JDK动态代理主要涉及java.lang.reflect包中的两个类:
Proxy(利用InvocationHandler动态创建一个符合某一接口的实例,生成目标类的代理对象)和InvocationHandler(接口)
CGlib动态代理
—基于类的动态代理

组件

在这里插入图片描述

Bean

Context

Core

参考文章

https://baijiahao.baidu.com/s?id=1627793055199571550&wfr=spider&for=pc

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值