• 基于XML的DI


    三、集合属性注入(包含:为数组注入值、为List注入值、为Set注入值、为Map注入值、为Properties注入值)

    集合类定义如下:

     

    xml定义如下:仔细看

    下面是执行代码:

     

     

    四、对于域属性的自动注入(包括:byName方式自动注入、byType方式自动注入)

    概念如下:

     

    1、byName方式自动注入

    之前xml是这样配置的类里面包括类的成员变量的,如下图,下面画红线的是和上面的mySchool联系在一起

    下面是基于byName方式的自动方式注入,注意:是自动,再说一遍,是自动,自动意思就是上面图片的画红线部分就不需要了,在bean 节点上配置autowire=“byName”,如下图有说明

    下面是执行代码

     

     2、byType方式自动注入

    执行代码如下:

     

     

     

    五、使用SPEL注入(SPEL即:Spring EL表达式语言,SPEL表达式方式以#开头,后跟一对大括号

    概念如下:

    具体怎么使用如下:

    Person类如下

    具体执行如下:

     

     

    六、使用内部Bean注入

    若不希望代码直接访问某个bean,即,在代码中通过getBena()方法获取该Bean实例,则可将该Bean的定义放入调用者bean定义的内部。

    问题如下,因为这个mySchool是属于student这个方法内部的类,所以不想让只用getBean()方法直接获取mySchool这个实例,如下这样写,这样外部就访问不了School这个类了。

    下面是之前的配置,可以做一个对比,主要还是想说明上图的内部Bean的配置

     

     

     七、使用同类抽象Bean注入

    Student.java

    修改之前的xml如下:

     

    执行如下:

     

     八、使用异类抽象Bean注入

    Teacher.java

    具体执行如下:

     

     

    九、为应用指定多个Spring配置文件(包括:平等关系的配置文件、包含关系的配置文件)(重点)

     

    1、平等关系的配置文件

    把如下这个图片中的xml分成两个

    第一个xml文件是spring-base.xml,如下图

    第二个xml文件是spring-beans.xml,如下图:

    具体执行如下:

     

    2、包含关系的配置文件

     applicationContext.xml包含spring-base和spring-beans这个两个xml文件

    如下图

    配置applicationContext.xml如下:

     具体执行如下:

     

     

     

  • 相关阅读:
    .Net学习难点讨论系列2 – 细说C#中new关键字与多态
    [翻译]搜索关键字 – 管道与过滤器模式(PipesandFilters)与装饰模式(Decorator)之间的关系
    .Net学习难点讨论系列1 – 委托与事件之事件
    [翻译]Popfly系列课程1 Popfly课程计划概览
    常用桌面虚拟化软件横向对比
    各种算法的C#实现系列1 合并排序的原理及代码分析
    博客园安家
    疑:Microsoft® Silverlight™ Tools for Visual Studio 2008 SP1的版本让人困惑
    stream_socket_client
    stream_socket_client2
  • 原文地址:https://www.cnblogs.com/suanshun/p/6727376.html
Copyright © 2020-2023  润新知