02 Spring项目概念、Spring配置详解(bean)

一、思想

1.IOC:

inverse of control 反转控制
	将我们创建对象的方式反转
	在以前对象的创建是由开发人员自己维护,包括依赖关系也是开发人员注入
	但是使用Spring后,对象的创建以及依赖关系可以由Spring完成创建以及注入
	反转控制就是反转了对象的创建方式,从而开发人员创建反转给了程序(Spring)

2.DI :

dependency injection 依赖注入
	实现IOC思想需要DI做支持
	注入方式:
		set方法注入
		构造方法注入
		字段注入(不推荐)
	注入类型:
		值类型注入:八大基本类型
		引用类型注入:将依赖对象注入

二、applicationContext&BeanFactory

1.BeanFactory接口(过时)

Spring最原始接口,针对原始接口的实现类功能较为单已
BeanFactory借口实现类的容器特点:每次在获得对象时才会创建对象

2.ApplicationContext接口

每次容器启动时就会创建容器中配置的所有对象,并提供更多功能
从类路径下查找/加载配置文件:ClassPathXmlApplicationContext(主要使用)
从硬盘绝对路径下加载配置文件:FileSystemXmlApplicationContext

结论/;web开发中,使用applicationContext;在资源匮乏的环境可以使用BeanFactory

三、配置详解

1.Bean
使用该元素描述需要Spring容器管理的对象
name属性:被管理对象的对象起个名字,获得对象时根据该名称获得对象,
名称可以重复,可以使用特殊字符
class属性:被管理对象的完整类名
d属性:与name属性一模一样,但是其名称不可重复,不能使用特殊字符
为了保护id属性,从而有了一个name属性
结论:尽量使用name属性
在这里插入图片描述
2.Spring三种对象创建方式
(1)空参构造方式(重点)—Spring创建对象
配置文件:
在这里插入图片描述
在这里插入图片描述
(2)静态工厂(了解)-----静态工厂创建对象
配置文件:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)实例工厂(了解)(动态工厂)
配置文件:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.Bean元素进阶
(1)scope属性
singleton(重点)默认值,单例对象,被标识为单例的对象,在Spring容器中只会存在一个实例
在这里插入图片描述
在这里插入图片描述
prototype(重点):多例原型,被标识为多例的对象,每次在获得时才会创建,每次创建都是新的对象 (注意:整合struts2时,actionBean必须配置为多例)
在这里插入图片描述
在这里插入图片描述
request(了解):web环境下,对象与request生命周期一致
session(了解):web环境下,对象与session生命周期一致
(2)生命周期属性(了解)
init-method:配置一个方法作为生命周期初始化方法,Spring会在对象创建之后立即使用
destory-method;配置一个方法作为生命周期的销毁方法,Spring容器在关闭并销毁所有容器中的对象之前调用

配置文件:在这里插入图片描述
user.java
在这里插入图片描述
demo.java
在这里插入图片描述
4.Spring的分模块配置
在主配置文件中可以导入其他配置文件(import)
例:

猜你喜欢

转载自blog.csdn.net/weixin_43801116/article/details/106693560