Spring

Spring

Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架,它主要是为了解决企业应用开发的复杂性而诞生的:
目的:解决企业应用开发的复杂性
功能:使用基本的JavaBean代替EJB
范围:任何Java应用

Spring的特点:
1.方便解耦,简化开发
2.AOP编程的支持
3.声明式事物的支持
4.方便程序的测试
5.方便集成各种优秀框架
6.降低JavaEE API的使用难度
7.Spring的源码是经典学习范例

Spring

Spring之IOC

    IOC(Inversion of Control,控制反转)是spring的核心,贯穿始终。所谓IOC,对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系:
  • 传统开发模式:对象之间互相依赖
  • IOC开发模式:IOC容器安排对象之间的依赖

IoC

    对于某个具体的对象而言,以前是它控制其他对象,现在是所有的对象都由Spring所控制,这叫控制反转。(对象A依赖于对象B, 以前是主动new 现在变成了由SpringIoC容器给你提供, 这样就从主动行为变成了被动行为)
    对象之间耦合度过高的系统,必然会出现牵一发而动全身的问题。

    IOC的另外的名字叫做依赖注入(Dependency Injection),所谓的依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。所以,依赖注入(DI)和控制反转(IOC)是从不同的角度的描述的同一件事情,就是指通过引入IOC容器,利用依赖关系注入的方式,实现对象之间的解耦.

DI

JavaBean:java小豆子,每个java类以Bean的形式注册到xml配置文件当中,然后通过配置文件来控制他们的依赖关系,这就是IoC概念。对于各个单独的类,它们只需要关注自己的核心业务逻辑,而他们之间的依赖关系则交由Spring配置文件来管理,这就是控制反转,而相对于这些组件,我们称之为依赖注入!

Spring之AOP

AOP 专门用于处理系统中分布于各个模块中的交叉关注点的问题,在 Java EE 应用中,常常通过 AOP 来处理一些具有横切性质的系统级服务,如事务管理、安全检查、缓存、对象池管理等,AOP 已经成为一种非常常用的解决方案:

AOP

AOP将应用系统分为两个部分,核心业务逻辑和横向通用逻辑,所谓的方面。
OOP:静态角度
AOP:动态角度,针对业务处理过程中的切面

AOP将一些常用的服务模块化

AOP通俗的理解:
一个组件A,不关心其他常用的服务组件B,但是这个组件A使用组件B的时候,不是组件A自身去调用,而是通过配置等其他方式,比如Spring中可以通过xml配置文件。这样就使得A压根就不需要知道服务组件B是怎样的,爱存在不存在,爱怎么存在都与A无关。A只关心自己的业务逻辑,具体A使用B的时候,配置文件去做,与具体的A组件无关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值