Spring入门介绍-IOC(二)

浅谈IOC

IOC(inversion of control)是Spring的核心,贯穿始终。所谓IOC
就是有Spring来控制对象的生命周期和对象间的关系。
传统开发模式:对象之间相互依赖
IOC开发模式:IOC控制对象之间的依赖

IOC的理论背景

IOC和DI(依赖注入)

IOC是控制反转。原先对象之间的关系式相互引用的,相对耦合度很高,一个对象的损坏可能会影响许多的对象,对象对其他对象的引用是自己控制的,如果把所以控制权都交给一个外部的第三方,统一管理应用,就实现了控制反转,降低了耦合度。

DI(dependency injection)。所谓的依赖注入就是IOC容器在运行期间,动态的将某种依赖关系注入到对象之中。所以依赖注入和控制反转是从不同角度描述的同一件事情。通过引入IOC容器,通过引用对象依赖注入的方式来实现对象之间的解耦。

IOC的好处

IOC不会对业务有很强的侵入性,是对象具有更好的可实用性,可重用性,可扩展性。

1.降低组件之间的耦合度。

2.提高产品的开发效率和质量。

3.统一标准,提高模块的复用性。

4.模块具有热插拔的特性。

IOC的总结

IOC控制反转:

创建对象实例的控制权从代码转移到IOC容器控制,实际就是xml文件控制,侧重于原理。

DI依赖注入:

说的是创建对象时,为这个对象注入属性值和其他对象实例,侧重于实现。

时间: 2024-11-09 03:47:05

Spring入门介绍-IOC(二)的相关文章

Spring入门系列-IOC

什么是Spring Spring概述(了解) Spring是什么 Spring是JavaEE应用 full-stack轻量级开源框架,核心是:IoC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层Spring MVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE企业应用开源框架. 什么是一站式开

Spring入门导读——IoC和AOP

和MyBatis系列不同的是,在正式开始Spring入门时,我们先来了解两个关于Spring核心的概念,IoC(Inverse of Control)控制反转和AOP()面向切面编程. 1.IoC(Inversion of Control)控制反转 什么是控制反转呢?可以这么通俗的来解释,我们通常写代码当一个类会关联另一个类是会直接在这个类里new,例如: 1 package day_30_spring; 2 3 /** 4 * @author 余林丰 5 * 6 * 2016年10月30日 7

Spring入门和IOC

本节要点: Spring简介 Spring特点 Spring框架组成 IOC和DI概念 项目中如何引入Spring框架 1 spring简介  spring:春天,寓意给软件行业带来了春天,由Rod Johnson提出 提出目的:解决企业应用开发的复杂性. 作用范围:任何Java应用 . 提出理念:使现有的技术更加实用,不去重复造轮子,让现有的框架运用更加合理.Struts和hibernate没有任何联系,所有spring最初的目的就是联系struts和hibernate,让他们运用的更好,本身

Spring入门 (IOC)

1.实现原理 IOC:控制反转,指的是对象创建权反转(交给)Spring,作用是实现了程序的解耦合. 2.实现步骤 (1)    下载jar包(参见开发库/spring) (2)    创建web项目,导入jar包 (3)    书写配置文件,并注册对象到容器中 Xml文件名字与位置任意,建议放到src目录下起名为aoolicationContext.xml Xml中注册对象: (4)测试代码 3.Spring创建对象的三种方式(Bean创建方式) (1)工厂类: (2)配置文件: (3)   

Spring入门介绍

概述 下载地址:https://repo.spring.io/release/org/springframework/spring/ spring是开源的轻量级框架 spring核心的主要两部分 AOP :面向切面编程,扩展功能而不修改源代码 IOC :控制反转,对象的创建通过spring配置来实现 spring是一站式框架 web :springMVC service :IOC dao :JDBC IOC IOC的底层原理 创建xml配置文件,配置要创建对象的类 <bean id="us

Spring入门第二十二课

重用切面表达式 我们有的时候在切面里面有多个函数,大部分函数的切入点都是一样的,所以我们可以声明切入点表达式,来重用. package logan.study.aop.impl; public interface ArithmeticCalculator { int add(int i, int j); int sub(int i, int j); int mul(int i, int j); int div(int i, int j); } package logan.study.aop.im

Struts2入门介绍(二)

一.Struts执行过程的分析. 当我们在浏览器中输入了网址http://127.0.0.1:8080/Struts2_01/hello.action的时候,Struts2做了如下过程: 1.Struts2首先使用过滤器,拦截我们的URL请求,以下的过程全部在过滤器中进行. 2.获得请求的路径,然后截取Action的名字,本示例中会截取字符串"hello". 3.在src目录下找到struts.xml文件,使用dom4j解析该文件,得到里面的数据. 4.用字符串"hello&

Spring入门介绍(一)

Spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架,它主要是为了解决企业应用开发的复杂性而诞生的. 目的:解决企业应用开发的复杂性. 功能:使用基本的javaBean代替EJB. 范围:任何的java应用. Spring的起源 Spring的存在是因为他有一系列的得天独厚的优势: 1.它的定位领域是其他frameWork没有的. 2.Spring是全面的和模块化的. 3.它的设计是从底部帮助编写易于测试的代码 4.Spring是潜在的一站式解决方案. Spring的优点 g

Spring 入门教程(二) 生命周期和作用域

下面的知识点是针对使用配置文件讲的(annotation对应标签后面文章会详细阐述) Bean的生命周期: 为什么关心这个问题? 我们使用IOC的目的就是为了让Spring IOC帮我们管理对象,从而不需要去自己手动去new ,何时new,怎么管理对象间依赖,什么时候销毁等等很多问题.而对象在Spring容器看来就是一个个bean,理所当然要理解Bean的生命周期. 生命周期的过程有哪些? 定义.初始化.使用.销毁. 初始化:(1)实现org.springframework.beans.fact