Spring

Spring 是一种轻量级开发框架,提高开发人员的开发效率以及系统的可维护性。

Spring框架指的是Spring Framework,它是很多模块的集合,使用这些模块可以方便的协助我们进行开发。

Spring框架的好处:

1、轻量级:Spring框架最基础的版本大约2MB。

2、控制反转(IOC):通过控制反转实现解耦合。对象给出他们的依赖,而不是创建或查找依赖的对象。

3、面向切面(AOP):Spring支持面向切面的编程,并将应用程序业务逻辑与系统分离。

4、容器:Spring包含并管理对象的生命周期和配置。

5、事务管理:Spring提供了一个一致性的事物管理接口,可以收缩到本地事物,也可以扩展到全局事物。

6、异常处理:Spring提供了方便的API来将具体技术的异常转化成一致的异常。

Spring核心模块:

1、spring-core:Spring 基础api模块

2、spring-beans:Spring Bean相关,如依赖注入、依赖查找

3、spring-aop:Spring AOP处理

4、spring-context:事件驱动、注解驱动

5、spring-expression:Spring表达式语言模块

Spring框架的缺点:

1、使用了大量的反射机制、反射机制非常占用内存。

2、Spring里面包含很多其他组件,组件越多启动越慢。(重量级)

3、集成复杂:使用MyBatis时要配置很多还要使用注解。

4、配置复杂:XML进行配置。

5、构建和部署:启动Spring的IOC容器,是完全依赖于第三方web服务器。自身不能启动。

Spring中的两个重要特性:

Spring中的IOC和AOP

IOC:是一种思想,将原本的程序中的手动创建对象的控制权,交由Spring框架来管理。控制反转,使用依赖注入管理它们,将对象集中起来,配置对象,管理对象的整个生命周期。

AOP:AOP模块用于为支持Spring应用程序面向切面的开发。面向切面编程便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性。

IOC的好处:

1、IOC最小化应用程序代码量。

2、它使测试应用程序变的容易,因为单元测试中不需要单例机制。

3、以最小的代价和最少的干扰来促进耦合。

4、IOC容器支持快速实例化和懒加载。

AOP的实现原理:

AOP就是基于动态代理的,如果要代理的对象实现某个接口,那么Spring AOP会使用JDK Proxy,去创建代理对象,而对于没有实现接口的对象,就无法使用JDK Proxy去进行代理了,这时候Spring AOP会使用Cglib生成一个被代理对象的子类来作为代理。

依赖注入(DI):

构造器注入

setter注入

方法注入

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值