浅谈Spring IOC

Spring IOC

1.IOC是什么?

IOC(Inversion of Control)---控制反转;

IOC不是一种技术,是一种设计思想。在没有Spring IOC时,对象的创建和依赖关系是由我们自己来创建和管理,有了IOC之后,对象的创建和依赖关系由Sping IOC容器来创建和管理。

理解好IOC,需要明白:

  • 谁控制谁,控制什么:

在以前我们是通过new的方式来创建对象,组装对象之间的依赖关系;有了IOC容器之后,由容器负责对象的创建和依赖关系。

谁控制谁:Spring IOC容器控制对象。

控制什么:控制对象的创建过程,整个生命周期,以及对象之间的依赖关系。

  • 为何是反转,那些方面反转了:

正转:我们自己自动创建对象,管理对象的依赖关系。

反转:对象的创建和关系,交由容器来管理。

   为何反转:因为对象的创建和依赖关系,由容器来管理了,不是我们自己来管理。

   什么反转了:对象的创建和依赖关系的管理被反转了。

时间: 2024-10-16 04:24:49

浅谈Spring IOC的相关文章

1.3浅谈Spring(IOC容器的实现)

这一节我们来讨论IOC容器到底做了什么. 还是借用之前的那段代码 ClassPathXmlApplicationContext app = new ClassPathXmlApplicationContext("beans.xml"); Car car =app.getBean(Car.class); System.out.println(car.getBrand()+","+car.getDesc()); 这里ClassPathXmlApplicationCont

浅谈Spring(四)AOP实例

在<浅谈Spring(三)AOP原理>中我详细的介绍了AOP的基本概念和实现原理,这里给出代码示例. 一.XML方式 1. TestAspect:切面类 package com.spring.aop; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; public class TestAspect { public void doAfter(JoinPoint jp) { System

由openSession、getCurrentSession和HibernateDaoSupport浅谈Spring对事物的支持

由openSession.getCurrentSession和HibernateDaoSupport浅谈Spring对事物的支持 Spring和Hibernate的集成的一个要点就是对事务的支持,openSession.getCurrentSession都是编程式事务(手动设置事务的提交.回滚)中重要的对象,HibernateDaoSupport则提供了更方便的声明式事务支持. Hibernate中最重要的就是Session对象的引入,它是对jdbc的深度封装,包括对事务的处理,Session对

浅谈Spring(二)IOC原理

一.引言 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑.举例:如果我们打开机械式手表的后盖,就会发现其是由N个齿轮组成,各个齿轮分别带动时针.分针和秒针顺时针旋转,从而在表盘上产生正确的时间.在这样的齿轮组中,如果有一个齿轮出了问题,就可能会影响到整个齿轮组的正常运转.齿轮组中齿轮之间的啮合关系,与软件系统中对象之间的耦合关系非常相似.对象之间的耦合关系是无法避免的,也是必要的,这是协同工作的基础.现在,伴随着

1.1浅谈Spring(一个叫春的框架)

如今各种Spring框架甚嚣尘上,但是终归还是属于spring的东西.所以在这里,个人谈一谈对spring的认识,笔者觉得掌握spring原理以及spring所涉及到的设计模式对我们具有极大的帮助.我们基于what ,why ,how来研究Spring. Spring是什么? Spring为什么? 如何使用Spring? 关于这三个问题可以先自行百度!!!针对这个3个问题提出以下几点. Spring有三大地方值得注意: 1.IOC容器 2.IOC控制反转和DI依赖注入 3.AOP面向切面编程 首

浅谈Spring与IOC

1.什么是Spring Spring是一个开源的轻量级的应用开发框架,目的是为了简化企业级编程,降低各个模块之间的侵入性和耦合度 Spring 提供了IOC和AOP的功能,可以将组建的耦合度降低,便于日后的维护和升级,实现各个模块的组件化编程. 为什么要用Spring? Spring的本质是管理软件中的对象,就是创建对象和维护对象之间的关系 2.Spring容器 Spring容器的理解就是在Spring中,任何的Java和JavaBean都被当成Bean处理,这是bean都交给Spring容器管

浅谈Spring(一)

Spring 框架是一个分层架构,由 7 个定义良好的模块组成.Spring 模块构建在核心容器之上,核心容器定义了创建.配置和管理 bean 的方式. 组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现.每个模块的功能如下: 一.Spring Core: Spring Core提供 Spring 框架的基本功能.核心容器的主要组件是 BeanFactory,它是工厂模式的实现.BeanFactory 使用控制反转 (IoC) 模式将应用程序的配置和依赖

浅谈Spring(三)AOP原理

一.概念术语 AOP(Aspect Oriented Programming):面向切面编程. 面向切面编程(也叫面向方面编程),是目前软件开发中的一个热点,也是Spring框架中的一个重要内容.利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率. 1. 切面(Aspect) 官方的抽象定义为"一个关注点的模块化,这个关注点可能会横切多个对象",在本例中,"切面"就是类TestAspect所关

浅谈Spring(一)

一.Spring引言 Spring是一款轻量级框架,代码入侵量很小,并且还是众多优秀的设计模式的组合(工厂.代理.模板.策略). 特点: 1.方便解耦,简化开发 通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合.有了Spring,用户不必再为单实例模式类.属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用. 2.AOP编程的支持 通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的