Spring--IOC总结

Spring--IOC总结,第1张

Spring--IOC总结 IOC本质

控制反转ioC 是一种 设计思想 DI(依赖注入) 是实现IoC的一种方法 使用面向对象编程 对象的创建与对象间的依赖关系完全硬
编码在程序中 对象的创建由程序自己控制 控制反转后将对象的创建转移给第三方 个人认为所谓的反转就是 获得依赖对象的方式反转

Spring 容器在初始化时 先读取配置文件  根据配置文件或元数据与组织对象存入容器中 
 程序使用时 再从IoC容器中去除需要的对象

采用XML方式配置Bean的时候 Bean的定义信息是和实现分离的 而采用注解的方式 可以把二者合为一体 Bean的定义信息

直接以注解的形式定义再实现类中 从而达到了零配置的目的

控制反转是一种通过描述(XML或注解) 并通过第三方生产获取特定对象的方式  再Spring中实现控制反转的是IoC容器

其实现方法是依赖注入

对象是由spring创建的

反转 : 程序本身不创建对象的 而变成被动的接收对象

依赖注入 就是利用set方法来进行注入的

IOC是一种编程思想 由主动的编程编程被动的接收

对象有SPring 创建 管理 分配

再配置文件加载的时候 容器中管理的对象就已经被初始化了

Spring容器中 所有的对象再被第一次获取的时候 就被实例化了

即所有的对象对

user == user1 输出true;

使用无参构造方法 创建对象 默认!

使用有参构造创建对象

下表赋值
		
			
		
	类型赋值
		
			
		
	直接通过参数名来设置
		
			
		

ioC入门案例 制作步骤

  1. 导入spring坐标(5.1.9.release)

  2. 编写业务层与表现层

  3. 建立spring配置文件

  4. 配置所需资源(Service)为spring控制的资源 表现层(App) 通过spring获取资源

bean
定义spring中的资源 受此标签定义的资源将受到Spring控制

格式

	
		
	

基本属性

	
	id bean的名称  通过id获取bean
	class  bean的类型
	name bean的名称 可以通过name值获取bean 用于多人配合给bean起别名

bean属性scope
定义bean作用的范围

取值
singleton: 设定创建出的对象保存在spring容器中 是一个单例的对象
prototype 设定创建出的对象保存阿紫spring容器中 是一个非单例的对象
request session application websocket 设定创建出的对象放置在web容器对应的位置

在单例情况下 在加载spring容器的时候 就会进行创建对象

bean生命周期
init-method destory-method

属性
bean标签
定义bean对象在初始化或销毁时完成的工作


取值 bean对应的类中对应的具体方法名

当spring配置的时非单例对象的时候 该对象不归spring容器管理

init-method 与 destory-method 用于控制bean的生命周期

bean对象创建方式
factory-bean factory-method
定义bean对象创建方式 使用实例工厂的形成创建bean 兼容早期遗留系统的升级工作

取值 工厂bean中用于获取对象的实例方法名
注意事项
	使用工厂创建bean首先需要将实例工厂配置bean  交由spring进行管理
	factory-bean 是实例工厂的bean

DI
IOC
控制翻转 Spring 反向控制应用程序所需要使用的外部资源
DI
依赖注入 应用程序运行依赖的资源由于Spring为其提供 资源进入应用程序的方式称为注入

应用程序 引用spring提供的资源

ioc模式
			等待Spring容器提供资源  DI
ioc容器
			主控权在spring手中ioC

ioc配置

set注入(主流)
使用set方法的形式为bean提供资源


	

基本属性


name 对应bean中的属性名 要求该属性必须提供可以访问的set方法
value 设定非引用类型属性对应的值 不能与ref同时使用
ref 设定引用类型对应bean的id 不能与value同时使用

在使用引用类型的时候用ref 在其他方式引用的时候 用value

构造器注入

construct-arg
使用构造方法的形式bean提供资源 兼容早期遗留系统的升级工作


	

基本属性

name 对应bean的构造方法所携带的参数名
value 设定非引用类型构造方法参数对应的值 不能与ref同时使用

一个bean可以有多个construct-arg标签

集合类型数据注入

array   list  set  map  props

注入集合数据类型属性


		

properties文件
外部文件导入
Spring 提供了读取外部properties文件的机制 使用读取到的数据bean属性赋值

*** 作步骤

准备外部properties文件
开启context命名空间支持
	xmlns : context ="http://www.springframework.org/schema/contxt"
加载指定的properties文件
	
使用加载的数据
	

如果需要加载所有的properties文件 可以使用 *,properties 表示加载所有的properties文件
读取数据使用${propertiesName} 格式进行 其中 propertieName 值1properties 文件的属性名

ioC配置
import
在当前配置文件中导入其他配置文件中的项


基本属性

resource 加载配置文件名

spring容器加载多个配置文件
new ClassPathXmlApplicationContext(“config.xml” , config2.xml);

Spring 容器中的bean定义冲突
同id的bean 后定义的覆盖先定义的
导入配置文件可以理解为将导入的配置文件复制粘贴到对应位置
导入配置文件的顺序与位置不同可能会导致最终程序运行结果不同

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4667995.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-06

发表评论

登录后才能评论

评论列表(0条)

保存