基于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如下:

具体执行如下:

基于XML的DI的更多相关文章
- Spring框架第三篇之基于XML的DI注入
一.注入分类 Bean实例在调用无参构造器创建空值对象后,就要对Bean对象的属性进行初始化.初始化是由容器自动完成的,称为注入.根据注入方式的不同,常用的有两类:设值注入.构造注入.实现特定接口注入 ...
- Spring_Spring与IoC_基于XML的DI
一.注入分类 bean实例在调用无参构造器创建空值对象后,就要对Bean对象的属性进行初始化.初始化时由容器自动完成的,称为注入.根据注入方式的不同,常用的有2类:设值注入.构造注入.(还有一种,实现 ...
- Spring4笔记4--基于XML的DI(依赖注入)
基于XML的DI(依赖注入): Bean 实例在调用无参构造器创建了空值对象后,就要对 Bean 对象的属性进行初始化.初始化是由容器自动完成的,称为注入.根据注入方式的不同,常用的有两类:设值注入. ...
- spring3——IOC之基于XML的依赖注入(DI )
我们知道spring容器的作用是负责对象的创建和对象间关系的维护,在上一篇博客中我们讲到spring容器会先调用对象的无参构造方法创建一个空值对象,那么接下来容器就会对对象的属性进行初始化,这个初始化 ...
- SSM-Spring-07:Spring基于注解的di注入
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 注解: 说起注解,哇哦,每个人都或多或少的用到过 像什么@Overried,@Test,@Param等等之前就 ...
- Spring 框架的概述以及Spring中基于XML的IOC配置
Spring 框架的概述以及Spring中基于XML的IOC配置 一.简介 Spring的两大核心:IOC(DI)与AOP,IOC是反转控制,DI依赖注入 特点:轻量级.依赖注入.面向切面编程.容器. ...
- Spring-注入方式(基于xml方式)
1.基于xml方式创建对象 <!--配置User类对象的创建 --> <bean id="user" class="com.at.spring5.Use ...
- 转-springAOP基于XML配置文件方式
springAOP基于XML配置文件方式 时间 2014-03-28 20:11:12 CSDN博客 原文 http://blog.csdn.net/yantingmei/article/deta ...
- Spring基础——在 Spring Config 文件中基于 XML 的 Bean 的自动装配
一.Spring IOC 容器支持自动装配 Bean,所谓自动装配是指,不需要通过 <property> 或 <constructor-arg> 为 Bean 的属性注入值的过 ...
随机推荐
- LeetCode 340. Longest Substring with At Most K Distinct Characters
原题链接在这里:https://leetcode.com/problems/longest-substring-with-at-most-k-distinct-characters/ 题目: Give ...
- 2825 codevs危险的组合(递推)
2825 危险的组合 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 钻石 Diamond 题目描述 Description 有一些装有铀(用U表示)和铅(用L表示)的盒子,数量均足够 ...
- webpack入门(四)——webpack loader 和plugin
什么是loader loaders是你用在app源码上的转换元件.他们是用node.js运行的,把源文件作为参数,返回新的资源的函数. 例如,你可以用loaders告诉webpack加载 coffee ...
- 神秘常量!用0x077CB531计算末尾0的个数,32位数首位相连
大家或许还记得 Quake III 里面的一段有如天书般的代码,其中用到的神秘常量 0x5F3759DF 究竟是怎么一回事,着实让不少人伤透了脑筋.今天,我见到了一段同样诡异的代码. 下面这个 ...
- (二 )结构ztree的 ajax交互的简单使用
在第一篇的基础上更改,在实际项目中的使用. 一:HTML 代码: <SCRIPT type="text/javascript"> var setting = { asy ...
- POJ3321(dfs序列+树状数组)
Apple Tree Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 25711 Accepted: 7624 Descr ...
- Make 命令
Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ...
- Python 下载图片的几种方法
import osos.makedirs('./image/', exist_ok=True)IMAGE_URL = "http://image.nationalgeographic.com ...
- 【转】js获取对象的所有属性和方法
//有时候需要知道一个js对像的所有属性和方法来帮助调试,下面是再网上找到的一个比较给力的方法 function displayProp(obj){ var names=""; f ...
- mybatis---demo1--(单表增删改查)----bai
实体类: package com.etc.entity; public class News { private int id; private String title; private Strin ...