Spring 是一个开源框架,使用Spring 可以使javabean实现以前只有EJB才能实现的功能。Spring是一个IOC和AOP容器框架
所需要的jar包:
配置文件:
在applicationContext.xml文件中通过bean节点来配置bean.
Bean的属性id:
在IOC容器中是唯一的,若id没有指定,Springj将自动将类名作为bean的名字。
Spring IOC容器可以管理bean的生命周期,Spring 允许Bean在特定的生命周期执行特定的任务。
Spring IOC容器对bean的生命周期进行管理的过程。
- 通过构造器或工程方法创建bean的实例。
- 为bean属性设置值或对其他bean的引用。
- 调用bean的初始化方法。
- 当容器关闭时调用bean的销毁方法。Init-method,destroy-method 的属性为bean指定初始化和销毁方法。
Spring的作用域。<bean>元素中scop属性里设置bean的作用域。
作用域 |
说明 |
Singleton |
Spring IoC容器中一个bean定义只有一个对象实例。默认情况下会在容器启动时初始化bean,但我们可以指定Bean节点的lazy-init=“true”来延迟初始化bean,这时候,只有第一次获取bean会才初始化bean。 |
Prototype |
每次从容器获取bean都是新的对象。 |
Request |
每次HTTP请求都会创建一个新的Bean,该作用域只适用于WebApplicationContext环境。 |
Session |
类似Request,每次有新的会话都会创建一个新的Bean,该作用域只适用于WebApplicationContext环境。 |
注入以来方式:
<一>属性注入:属性注入通过setter方法注入Bean的属性或依赖对象
属性注入使用<property>元素,使用name属性指定bean的属性名称,value属性或<value>子节点指定属性值。
<二>构造器注入:
通过构造方法注入bean的属性值活依赖对象,他保证了bean实例在实例化后就可以使用,
构造器注入在<constructor-arg>元素里声明。
构造器注入的两种方式
1:按索引匹配:
2:按类型匹配
<三>基本类型对象注入:
如果注入的值中含有特殊的字符,可以使用<![CDATA[]]>把字面值包裹起来
在bean的配置文件中,可以通过<ref>元素,或者ref属性为Beande属性或构造器的指定参数对Bean引用
<四>注入集合:
配置java.util.List,或java.util.Set,或java.util.Map具体的要看自己使用哪一种
三种示例如下:
LIST(set同):
<property name=”courses”>
<list>
<value></value><value></value>
</list>
</property>
Map
Bean之间的关系:
继承:
依赖:
p(屁)命名空间:为简化xml文件设置
Spring EL 表达式语言:
是一个支持运行时查询和操作对象图的强大表达式语言:
语法类似于EL: #{} 作为定界符,所有大括号中的字符都被认为式SpEL
SpEL的作用:
1:通过bean的ID对bean进行引用
2:调用方法以及对象中的属性
3:计算表达式的值
4:正则表达式匹配
引用其他对象或属性:
进行链式操作:
逻辑操作不再多述
-------------------------------------------------------------------------------------------先写到这里,困。。。。。。