Spring Framework - IOC

IoC 控制反转

一、什么是Spring框架?

官方解释:Spring框架指的是Spring Framework,它是一个分层的面向切面的Java应用程序的一站式轻量解决方案;

两个核心AOPIoC,这两个核心的简单描述如下:

核心描述
AOPAspact Oriented Programming,译为"面向切面编程"。AOP 用来封装多个类的公共行为,将那些与业务无关,却为业务模块所共同调用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度。另外,AOP 还解决一些系统层面上的问题,比如日志、事务、权限等。
IoCInverse Of Control,译为"控制反转"。指将创建对象的过程交给Spring。

本篇主要记录的是:IoC 控制反转

二、控制反转的个人理解

控制反转(IoC)

​ “控制反转”,即在程序设计中,将对象创建的"控制权"交给Spring的IoC容器,而不是使用new去构造一个对象。传统构建对象的缺点便是代码的耦合度过高,不利于后期的修改与维护,毕竟对于面向对象编程,我个人理解是:尽量杜绝更改程序,而是做到扩展程序。于是在Spring框架中便可以使用XML 配置文件注解Java 配置类等方式,对 Java 对象进行定义。在Spring启动时,IoC容器会自动根据对象定义,将这些对象创建并管理起来。这些被IoC创建并管理的对象被称为"Spring Bean"。

依赖注入(DI)

​ 简单来说,依赖关系就是在一个对象中需要用到另一个对象,即对象中存在的一个属性,该属性是另外一个对象。

三、IoC容器的两种实现

BeanFactory

​ BeanFactory 是 IoC 容器的基本实现,也是 Spring 提供的最简单的 IoC 容器,它提供了 IoC 容器最基本的功能。BeanFactory 采用懒加载(lazy-load)机制,容器在加载配置文件时并不会立刻创建 Java 对象,只有程序中获取(使用)这个对象时才会创建。

注意:BeanFactory 是 Spring 内部使用接口,通常情况下不提供给开发人员使用。

ApplicationContext

​ ApplicationContext是BeanFactory的子接口,是对BeanFactory的扩展。ApplicationContext 在 BeanFactory 的基础上增加了许多企业级的功能,例如 AOP(面向切面编程)、国际化、事务支持等。

实现类描述
ClassPathXmlApplicationContext加载类路径 ClassPath 下指定的 XML 配置文件,并完成 ApplicationContext 的实例化工作
FileSystemXmlApplicationContext加载指定的文件系统路径中指定的 XML 配置文件,并完成 ApplicationContext 的实例化工作
//自动加载类路径下指定的xml配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("Bean.xml");
//加载指定文件系统路径下指定的xml配置文件
ApplicationContext context = new FileSystemXmlApplicationContext("D:\\eclipe workspace\\spring workspace\\HelloSpring\\src\\Beans.xml");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值