Spring笔记

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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文件的位置。读取并存到该

相关文档
最新文档