Spring笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
unit01
单词释义
IOC: 控制翻转
factory:工厂
scope:指定
lazy:懒惰的
location:位置
properties:键值队
constructor:构造器
arg:自变量
Component:组件
Repository:储存
Service:服务
Example:举例
Spring的核心,是管理对象,对象的生存周期和维护对象之间的关系。
一:java Bean(POJO) 实现如下规则的Java对象
1:必须有包(package)
2:必须有无参构造器。
3:实现序列化接口。
4:有get set方法定义的Bean属性。
String getName()
void setName()
get方法和set方法定义了Bean属性name 与对象的属性不同
比如:EL表达式可以访问Bean属性。
5:toString equals hashCode 有ID基本都重写。
就是有一定约定的java对象。
二:Spring 管理的Java对象
1:Spring创建对象的步骤
Spring可以访问Bean属性。
IOC 控制翻转
1)导入SpringjJar包
2)给Spring一个声明,写一个配置文件。
2:Bean的实例化方式
1)使用配置文件实例化
2)使用静态工厂方法实例化
通过某些类中静态方法而获取的方式
在该方式calss中指向的是提供静态方法的类,后面是要获取对象的静态方法。
3):使用实例工厂方法实例化
三Bean的作用域和生存周期
1:Bean的作用域
在Bean标签中利用scope属性定义Bean的作用域,严格上讲是Bean创建对象的方式。
singleton 单例对象
每一个bean定义对应一个对象实例,默认项,在getBean时,每一次都是同一个对象。
prototype 原型
一个bean定义对应多个对象实例,每一次getBean都是相同类型,不同地址的对象。
request
在web中一次Http请求与响应对应一个Bean定义的实例。
sission
在web中一次会话对应一个Bean定义的实例
2:Bean的生命周期
1)指定初始化回调方法
init()
2)指定销毁回调方法
destroy()
仅适用于singleton 单例对象式
AbstractApplicationContext c=(AbstractApplicationContext)ctx
c.close();
销毁必须要把ApplicationCotext类型强转成AbstrcatApplicationContext类型才能调用close方法。
3:Bean的延迟实例化
1)ApplicationContext在默认情况下会将singleton单例对象在启动容器是创建。
4:指定Bean依赖关系
1)
当
四IOC
具有相同生命周期的关系,叫做组成关系。有必然关系但没有共同生命周期,叫依赖关系。有关系,但不一定是必然关系叫做关联关系。
Spring提供了注入DI/IOC功能,解决维护对象的关系。解决了耦合性问题
紧耦合与松耦合性
紧耦合:代码写死了,对象关系不能改变。
松耦合:对象的关系,可以后期更改,无需变更编码
1:IOC概念
IoC被译为控制反转,管理对象和对象的关系(创建Bean实例管理Bean周期) 2:DI注入方式
依赖注入,
1)setter注入
bean标签中property属性设置该bean的set方法。
2)构造器注入。
调用有参数构造器注入,用bean标签的constructor-arg
3:Spring支持的多种数据类型的注入
1)注入类型
(1)基本类型注入
将基本类型数据注入到指定bean中
(2)引用类型注入
将引用类型对象注入到指定的Bean中
(3) 集合注入
a:在Bean标签中定义注入Bean属性,而属性是集合,就要在集合中添加元素,在注入到Bean属性中。
b:引用方式的集合注入
把整个集合当作一个javaBean,添加到另一个Bean中,在这里list看作一个独立的javaBean,可以在java类中通过getBean获取到
该list引用对象。
(4)表达式注入
a: 用于读取一个Bean的属性,注入给另外一个Bean,可以读基本类型,也可以读取集合
读取list/数组
#{nameList[0]}
读取map
#{map['key']} #{map.key}
读取properties
#{props['key']} #{props.key}
b:利用properties读取硬盘文件内容,将每一个键值队内容存到properties中,所以可以看作引用方式的集合或者javaBean,但增加了一个
特殊的功能,location指向一个properties文件的位置。读取并存到该