Spring介绍以及控制反转(IOC)、依赖注入(DI)的理解

1、什么是spring框架? Spring框架有哪些主要模块?

  • Spring 框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。
  • Spring 帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。
  • Spring 框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的。
  • Spring 框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成、web、AOP(面向切面编程)、工具、消息和测试模块。
    spring整体模块体系

2、使用Spring框架能带来哪些好处?

  • DI(Dependency Injection)方法使得构造器和JavaBean properties 文件中的依赖关系一目了然。
  • 与EJB容器相比较,IOC容器更加趋向于轻量级。
  • Spring框架是按照模块的形式来组织的,由包和类的编号就可以看出来其所属的模块,开发者仅仅需要选用他们需要的模块即可。
  • Spring的web框架亦是一个精心设计的web mvc框架,为开发者们在web框架的选择上提供了一个除了主流框架比Struts、过度设计的,不流行web框架的以为的有力选项。
  • Spring提供了一个便捷的事务管理接口,适用于小型的本地事务处理(比如在单DB的环境下)和复杂的共同事务处理(比如利用JTB的复杂DB环境)。

3、什么是控制反转(IOC)?什么是依赖注入?

1.1、IOC是什么?

IOC,即 “控制反转”,不是什么技术,而是一种设计思想。在Java开发中,IOC意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。

  • 谁控制谁,控制什么:传统Java SE程序设计,我们是直接在对象内部通过new关键字进行创建对象,是程序主动去创建依赖对象;而IOC是有专门一个容器来创建这些对象,即由IOC容器来控制对象的创建。
  • 为何是反转,哪些方面反转了:有反转就有正转,传统应用程序是由我们自己在对象中主动控制去直接获取依赖对象,也就是正转;而反转则是由容器来帮忙创建以及注入依赖对象;为何是反转? 因为由容器帮我们查找及注入依赖对象,对象只是被动的接受依赖对象,所以是反转;哪些方面反转了?依赖对象的获取被反转了。
1.2、IOC可以做什么?

IOC 不是一种技术,只是一种思想,一个重要的面向对象编程的法则,他能指导我们如何设计出松耦合、更优良的程序。传统应用程序都是由我们在类内部主动创建依赖对象,从而导致类与类之间高耦合,难于测试:有了IOC容器后,把创建和查找依赖对象的控制权交给了容器,由容器进行注入组合对象,所以对象与对象之间是松耦合,这样也便于测试,利于功能复用,更重要的是使得程序的整个体系变得非常灵活。

  • ioc怎么实现依赖对象的控制反转:声明式配置,和注解式配置
1.3什么是DI?

DI(Dependency Injection)即:“依赖注入”,依赖注入是在编译阶段尚未知所需的功能是来自哪个类的情况下,将其他对象所依赖的功能对象实例化的模式。这就需要一种机制用来激活相应的组件以提供特定的功能,所以依赖注入是控制反转的基础。

在Java中依赖注入的三种实现方式:

  • 1、构造器注入
  • 2、属性注入
  • 3、接口注入

总结:

  • IOC:把对象的创建、初始化、销毁交给Spring来管理,而不是由开发者控制,实现控制反转。
  • DI:由容器动态的将某个依赖关系注入到组件之中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值