首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Spring 学习笔记(3)

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>
多模块开发配置
  •         在加载配置文件的时候,加载多个配置文件
  •         在一个配置文件中引入多个配置文件,通过实现
返回列表