基于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 的属性注入值的过 ...
随机推荐
- nodepad++的python环境变量设置
转:http://blog.csdn.net/memray/article/details/42041975
- laravel redis的使用
学习源头: https://www.cnblogs.com/redirect/p/6185228.html
- winrm service
今天看脚本忽然发现一个服务,叫winRM服务,这是个PowerShell的远程管理.开启它可以很大程度的方便用PowerShell操控! 下面是我找到的一些资料: 在Linux中,我们可以使用安全的S ...
- IIS调用批处理权限的处理[转]
最近公司希望将Windows 2003升级为Windows 2008,做完安全设置后发现.net调用批处理拒绝访问的情况.网上很多说更改应用程序池的权限,建议不需要修改该权限,我这里强烈建议使用默认的 ...
- 蓝桥杯 算法训练 ALGO-149 5-2求指数
算法训练 5-2求指数 时间限制:1.0s 内存限制:256.0MB 问题描述 已知n和m,打印n^1,n^2,...,n^m.要求用静态变量实现.n^m表示n的m次方.已知n和m,打印n^ ...
- uboot中的TEXT_BASE
转载:http://blog.csdn.net/xxblinux/article/details/6281295 我们都知道U-BOOT分为两个阶段,第一阶段是(~/cpu/arm920t/start ...
- (转)详解C#中的反射
本文转载自:http://blog.csdn.net/educast/article/details/2894892 两个现实中的例子:1.B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到 ...
- java代码异常处理
总结:运用throw和throws抛出异常,在哪一种情况下该怎么抛出异常.重要 package com.b; //异常中throwe和throws的用法 public class yz { publi ...
- Rails:Rails使用sqlite3数据库 及数据操作基本命令
Rails默认使用sqlite3做为数据库,虽然很多人更喜欢mysql.但如果是学习用,sqlite3够了,因为它轻量,不需要安装. 首先对sqlite3做个简短的介绍:1.sqlite3不需要配置, ...
- Java 的基本语法
Java 语言严格区分大小写 一个 Java 源文件里可以定义多个类,但其中只能有一个类被定义为 public 类 如果源文件中包含了 public 类,源文件的名称必须和该 public 类同名 p ...