zoukankan      html  css  js  c++  java
  • Spring学习笔记二之如何装配Bean

    Spring如何装配Bean

    1,首先要搞清楚Spring中如何配置bean。众所周知,Spring最基本的方法是利用XML文件来配置bean的,比如声明一个bean语法:

    id是这个bean的标识,在XML中注入bean就会用到这个id;class指定一个具体的bean类

    2,明白了bean的配置和声明,还有很重要的一点:在Spring中,定义一个bean类之前一般首先会定义一个接口,然后该bean实现该接口,在其他的bean中,使用接口来定义成员变量,以便实现多态性,比如:

    在《Spring in action》给出的例子中,首先定义了一个Poem接口,这个有一个recite方法

    然后在poeticjuggler类中,用此接口定义了一个成员变量Poem:

    接下来,只要是实现了Poem接口的类都可以注入到poeticjuggler类中,比如下面这个类:

    这就很好的实现了多态性。

    3,当然最重要的不是声明bean的方法,而是如何注入bean的方法了:

    ·构造函数注入:

    注入简单的值:

    注入一个对象:

    4,工厂方法创建bean:

    工厂方法的特征:某个类不提供public的构造函数,而是将构造函数设置为private的,然后提供另一个static的getInstance方法返回类的一个实例。

    一般的bean,都会有默认的构造方法,如果没有指明在创建该bean对象时使用的方法,则系统使用默认构造函数。在没有public构造函数的bean中,使用factory-method属性来制定工厂方法来创建bean

    5,bean的作用域:

    默认bean的作用域是singleton的,也就是调用getBean方法或者通过装配得到的bean都是同一个bean,可以通过scope属性设置:

    scope所有属性:

    6,初始化和销毁bean:

    为单个bean指定初始化和销毁函数:

    为所有的bean指定初始化和销毁方法:

    7、注入bean属性:一般bean的每个属性都会为其定义相应的get和set函数。通过get和set函数可以为属性注入值

    注入简单值:

    注入外部bean(已经在XML中声明了saxophone的bean):

    注入内部bean:

    通过setter注入内部bean

    通过constructor方法注入内部bean:

    8、使用Spring的命名空间p装配属性:

    首先声明使用命名空间:

    然后装配属性:

    9、装配集合

    在bean中定义一个集合的属性:

    在XML中配置:

    list:

    另外几种:

    set:

    map:

    property:

    10、装配空值

    11、使用表达式装配,即SqEL语言的运用:

    使用#{}定界符括起来的表达式

    装配字面值:

    引用bean:

    引用bean的属性值:

    引用bean的方法:

    为了避免空指针,可以用空指针安全存取器:

    操作类:

    各种逻辑操作:

    条件表达式

    12,投影集合

    属性筛选:

  • 相关阅读:
    函数的对称性及其图像变换
    KMP 字符串匹配
    15 保护模式中的特权级(上)
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    2-26安卓自学
  • 原文地址:https://www.cnblogs.com/hewenwu/p/3803482.html
Copyright © 2011-2022 走看看