标题:
Spring 学习笔记(3)
[打印本页]
作者:
look_w
时间:
2019-5-13 13:35
标题:
Spring 学习笔记(3)
Spring 的工厂类
BeanFactory: 老版本的工厂类,在调用getBean()方法时,才会生成类的实例。
ApplicationContext: 在加载配置文件的时候,就会将 Spring 管理的类都实例化。有两个实现类:
ClassPathXmlApplicationContext: 加载类路径下的配置文件
FileSystemXmlApplicationContext: 加载磁盘下的配置文件
bean标签配置
id: 唯一约束,不能出现特殊字符
name: 理论上可以重复,但是开发中最好不要。可以出现特殊字符
生命周期:
init-method: bean被初始化的时候执行的方法
destroy-method: bean被销毁的时候执行的方法
作用范围:
scope: bean的作用范围,有如下几种,常用的是前两种
singleton: 默认使用单例模式创建
prototype: 多例
request: 在web项目中,spring 创建类后,将其存入到 request 范围中
session: 在web项目中,spring 创建类后,将其存入到 session 范围中
globalsession: 在web项目中,必须用在 porlet 环境
属性注入设置
构造方法方式的属性注入: Car 类在构造方法中有两个属性,分别为 name 和 price。
<bean id="car" class="demo.Car">
<constructor-arg name="name" value="bmw">
<constructor-arg name="price" value="123">
</bean>
set 方法属性注入: Employee 类在有两个 set 方法,分别设置普通类型的 name 和引用类型的 Car (使用 ref 指向引用类型的 id 或 name)。
<bean id="employee" class="demo.Employee">
<property name="name" value="xiaoming">
<property name="car" ref="car">
</bean>
P名称空间的属性注入: 首先需要引入p名称空间:
<beans xmlns="http://www.springframework.org/schema/beans"
//引入p名称空间
xmlns:p="http://www.springframework.org/schema/p"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
">
</beans>
如果是普通属性:
<bean id="car" class="demo.Car" p:name="bmv" p:price="123">
</bean>
如果是引用类型:
<bean id="employee" class="demo.Employee" p:name="xiaoming" p:car-ref:"car">
</bean>
SpEL(Spring Expression Language)属性注入(Spring 3.x以上版本)
<bean id="car" class="demo.Car">
<property name="name" value="#{'xiaoming'}">
<property name="car" ref="#{car}">
</bean>
集合类型属性注入:
<bean id="car" class="demo.Car">
<property name="namelist">
<list>
<value>qirui</value>
<value>baoma</value>
<value>benchi</value>
</list>
</property>
</bean>
多模块开发配置
在加载配置文件的时候,加载多个配置文件
在一个配置文件中引入多个配置文件,通过实现
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0