1.什么是Spring,有什么作用
Spring框架属于整合框架。可以将Struts,Hibernate等技术整合在一起使用。
好处是可以降低组件之间耦合度,有利于程序的扩展和升级。
Spring框架主要具有以下几点功能:
--Spring框架提供了与其他技术整合的API(整合API可以引用原Struts,Hibernate功能,使用更简洁)
--Spring框架提供了一个容器,该容器可以创建和管理程序中的组件对象(Spring核心)
--Spring框架容器提供了IOC特性(可以降低两个组件对象的耦合度)
--Spring框架容器提供了AOP特性(可以将事务等共通功能以低耦合方式作用到原功能组件上)
2.Spring基本使用
*1)Spring容器的基本使用(核心)
可以创建和管理组件对象。
使用步骤:
--引入spring核心开发包
--添加spring配置文件
--将程序组件定义到spring配置文件中
--获取spring容器对象,从容器中获取Bean组件对象。
******************************************************************************
2)Spring容器对Bean的管理
*a.控制Bean对象创建模式
在<bean>元素中,利用scope属性可以指定Bean组件创建对象的方式
prototype:非单例模式
singleton: 单例模式(默认)
以后,在Web程序中,通过一些配置,可以扩展出request,session等属性值.
b.控制单例与非单例模式的创建时机
1)singleton模式的Bean组件,默认是在ApplicationContext容器实例化时创建出来。
2)prototype模式的Bean组件,是在调用ac.getBean()方法时创建。
3)在<bean>元素中使用lazy-init="true",将singleton模式对象创建工作推迟到getBean()方法调用时刻
c.可以指定Bean对象初始化和销毁方法
<bean init-method="初始化方法" destroy-method="销毁方法">
当Spring将Bean对象创建完毕后,会自动调用 init-method 指定的方法。
destroy-method指定的方法需要满足下面条件才能执行:
--scope="singleton"才能使用
--执行AbstractApplicationContext容器的close方法触发。
******************************************************************************
3)Spring框架的IOC特性
thoughtworks科学家
UML,模式,OO设计,重构,架构的顶级专家.
IOC解决的问题:可以降低两个组件对象之间关联,降低耦合度.
a.IOC
Inverse of Controller被称为控制反转或反向控制。(更确切的理解应该是控制转移)
控制:指的是组件对象创建,初始化,销毁以及关系指定等逻辑。
将上述控制逻辑由第三方容器或框架(Spring)负责,从而被称为IoC。
当遇到组件的替换或功能扩展时,只需要修改Spring配置,相关联
组件不需要修改。(降低耦合度)
b.DI
Dependency Injection称为依赖注入
依赖注入是Spring实现IoC的技术途径。
依赖注入主要分为set方式注入和构造方法注入.
(推荐)set方式注入的使用步骤:
--在Action中定义dao接口变量及其set方法
--在Spring配置Action组件的<bean>元素中,添加使用下面格式:
<property name="属性名" ref="要注入的Bean对象id值"> </property>
构造方式注入的使用步骤:
--在Action中定义dao的接口变量,以及带参数的构造方法。
--在Spring配置Action组件的<bean>元素中,使用下面格式:
<construtor-arg
index="指定参数索引,从0开始">
ref="要注入的Bean对象的id值"
</construtor-arg>
******************************************************************************
3.各种类型信息的注入
*1)注入Bean对象
<property name="属性名" ref="">
2)注入基本类型
注入数值或字符串类型值
<property name="属性名" value="值">
3)注入集合类型
注入List集合配置方法
<property>
<list>
<value>值</value>
...
</list>
</property>
注入Set集合配置方法
<property>
<set>
<value>值</value>
...
</set>
</property>
注入map集合类型
<property>
<map>
<entry key="" value="">
</entry>
......
</map>
</property>
注入Properties类型
<property>
<props>
<prop key="">值</prop>
......
</props>
</property>
=====================
1.Spring框架在SSH中作用
*2.掌握Spring容器对Bean的管理
*3.掌握Spring容器IOC的使用
4.各种类型数据的注入
其他
Spring:sometimes有时先用再理解
Struts主要作用: 请求分发处理 (前端控制器)
Hibernate主要作用:构建一个持久层,封装JDBC,操作数据库
Spring主要作用:整合框架,可以将Struts( action)、Hibernate( DAO)等技术整合在一起使用
资费cost :收费标准
模式对象创建 构造方法执行顺序
IOC是一种思想,实现原理:实现依赖注入