SpringInAction--自动化装配Bean(显示装配之xml配置)
Spring在配置时候有三种方案可选
1、在xml中进行显示配置
2、在java中进行显示配置
3、隐式的Bean发现机制和自动装配
今天学习的 第一种—— 在xml中进行显示配置
老规矩 先创建 CompactDisc 接口 ,DangNianQing 单首CD碟子,指定播放的CD碟子类 RandomCd 还有播放器 CDPlay
CompactDisc
package com.bean.xml;/*** Created by IntelliJ IDEA.* Author XueYuan* Data 2017/02/22* Time 14:06*/public interface CompactDisc {void play(); }
DangNianQing
package com.bean.xml;/*** Created by IntelliJ IDEA.* Author XueYuan* Data 2017/02/22* Time 14:07*/public class DangNianQing implements CompactDisc {private String title = "DangNianQing";private String artist = "张国荣";public void play() {System.out.println("Playing " + title + " By " + artist);} }
RandomCd
package com.bean.xml;/*** Created by IntelliJ IDEA.* Author XueYuan* Data 2017/02/22* Time 14:33*/public class RandomCd implements CompactDisc {private String title;private String artist;public RandomCd(String title, String artist) {this.title = title;this.artist = artist;}public void play() {System.out.println("Playing " + title + " By " + artist);}}
CDPlay
package com.bean.xml;import org.springframework.beans.factory.annotation.Autowired;/*** Created by IntelliJ IDEA.* Author XueYuan* Data 2017/02/22* Time 14:23*/public class CDPlay {private CompactDisc compactDisc;@Autowired // set注入public void setCompactDisc(CompactDisc compactDisc) {this.compactDisc = compactDisc;}//构造器注入/*public CDPlay(CompactDisc compactDisc) {this.compactDisc = compactDisc;}*/public void play() {compactDisc.play();}}
好了,东西准备好了,下面就看准备操作了,需要建立一个配置的xml文件
<bean id="dangNianQing" class="com.bean.xml.DangNianQing"/>
装配bean 即准备好单张曲子的那个cd碟
<bean id="randomCd" class="com.bean.xml.RandomCd"><constructor-arg index="0" value="当年情"/><constructor-arg index="1" value="张国荣"/></bean>
装配bean 即准备好指定点歌的的那个cd碟
<!--装配com.bean.xml.CDPlay 类 但是CDPlay中需要有一个CompactDisc--><bean id="cdPlay" class="com.bean.xml.CDPlay"><!-- 通过引用id名 自动装配 CompactDisc --><!-- <constructor-arg ref="dangNianQing"/>--><!--<constructor-arg ref="randomCd"/>--><property name="compactDisc" ref="randomCd" /></bean>
配置bean 即要播放一首歌的cd碟子呢 还是要播放可以指定歌曲的碟子呢!
这边可以看出有多个选择如果是set注入的话就是上面的,如果是构造器注入的话,就是下面的代码(红色部分)
<!--装配com.bean.xml.CDPlay 类 但是CDPlay中需要有一个CompactDisc--><bean id="cdPlay" class="com.bean.xml.CDPlay"><!-- 通过引用id名 自动装配 CompactDisc --><!-- <constructor-arg ref="dangNianQing"/>--> <constructor-arg ref="randomCd"/><!--<property name="compactDisc" ref="randomCd" />--></bean>
整体代码如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--装配 CompactDisc --><bean id="dangNianQing" class="com.bean.xml.DangNianQing"/><!--装配com.bean.xml.CDPlay 类 但是CDPlay中需要有一个CompactDisc--><bean id="cdPlay" class="com.bean.xml.CDPlay"><!-- 通过引用id名 自动装配 CompactDisc --><!-- <constructor-arg ref="dangNianQing"/>--><!--<constructor-arg ref="randomCd"/>--><property name="compactDisc" ref="randomCd" /></bean><bean id="randomCd" class="com.bean.xml.RandomCd"><constructor-arg index="0" value="当年情"/><constructor-arg index="1" value="张国荣"/></bean> </beans>
好了都 碟子选好了,也放入播放器了,下面就要按下 开始播放按钮看是否可以播放了
package com.bean.xml;import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;/*** Created by IntelliJ IDEA.* Author XueYuan* Data 2017/02/22* Time 14:08*/ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(value = "config.xml") public class CDPlayerTest {/*@AutowiredDangNianQing dangNianQing;*/@AutowiredCDPlay cdPlay;@Testpublic void play() {cdPlay.play();} }
以上就是xml显示的配置方法的简单小例子,如有错误,请指出,谢谢~
代码:https://github.com/eoooxy/springinaction test下 的com.bean.xml中
转载于:https://www.cnblogs.com/eoooxy/p/6429118.html
SpringInAction--自动化装配Bean(显示装配之xml配置)相关推荐
- Spring源码之Bean的注册(使用XML配置的方式)
本文分析的Spring源码是5.2.2版本,使用Gradle进行管理. 一.Bean的注册,先来看通过XML配置Bean的方式 1.配置applicationContext.xml: <?xml ...
- Spring - 装配bean
创建应用对象之间协作关系的行为通常称为装配(wiring),这也是依赖注入(DI)的本质 一.自动化装配bean(推荐方式) Spring从两个角度来实现自动化装配: 组件扫描:Spring会自动发现 ...
- spring(2)装配Bean
[0]README 0)本文部分文字描述转自:"Spring In Action(中/英文版)",旨在review spring(2)装配Bean 的相关知识: 1)在sprin ...
- (Spring)自动装配bean
文章目录 自动装配bean 1. 环境搭建 2. byName自动装配 3. byType自动装配 4. 使用注解自动装配 4.1 @Autowired和@Qualifier 4.2 @Resourc ...
- Spring学习笔记--自动装配Bean属性
Spring提供了四种类型的自动装配策略: byName – 把与Bean的属性具有相同名字(或者ID)的其他Bean自动装配到Bean的对应属性中. byType – 把与Bean的属性具有相同类型 ...
- 《Spring实战》系列之Bean的装配-Days01
1 自动化装配bean Spring通过两个方面实现对bean的自动装配 1 ) 组件扫描(component scaning):Spring会自动发现Spring上下文中的bean 2 ) 自动装配 ...
- Spring笔记2——Spring中Bean的装配
1.引言 Spring中,对象无需自己负责查找或创建与其关联的其他对象,而是由容器负责把需要相互协作的对象引用赋予各个对象.创建应用对象之间的协作关系的行为通常称为装配(Wiring),这也是依赖注入 ...
- Spring实战(第4版)第2章 装配Bean
文章目录 Spring实战(第4版)第2章 装配Bean 2.1 Spring配置的可选方案 2.2 自动化装配bean 2.2.1 创建可被发现的bean 2.2.2 为组件扫描的bean命名 2. ...
- Spring bean依赖注入、bean的装配及相关注解
依赖注入 Spring主要提供以下两种方法用于依赖注入 基于属性Setter方法注入 基于构造方法注入 Setter方法注入 例子: public class Communication {priva ...
- Spring Boot2.x-04Spring Boot基础-使用注解装配bean
文章目录 概述 通过Java配置文件@Bean的方式定义Bean 通过注解扫描的方式(@Component/@ComponentScan)装配Bean 使用excludeFilters属性不让IoC加 ...
最新文章
- 掷骰子python代码_Python 使用matplotlib模块模拟掷骰子
- ubuntu 将某个目录下的文件复制到_Linux下处理隐私骚操作
- 安卓怎么用抖音做锁屏_把锁屏密码设置成当前时间,随时间的变动!别人怎么也猜不出来...
- 移动端微信页面的一些自己爬的坑
- python全栈开发基础【第二十三篇】线程
- 【数据结构与算法】之深入解析“学生出勤记录I”的求解思路与算法示例
- 如何在Wireshark确定数据集?
- 将桌面文件动态保存到D盘
- javadoc文档的生成方法_Cocoa 代码注释与文档生成
- 服务器计时器、Windows 计时器和线程计时器
- hdfs java 权限管理,HDFS的权限管理
- linux内核维护者,Linux 内核维护者封杀明尼苏达大学(转载) - 优秀的Free OS(Linux)版 - 北大未名BBS...
- JSF通过EL读取List中的值
- 令程序员们夜不能寐的“噩梦”除了改需求,还有这些…...
- 给定坐标(星期几、第几节)前端显示问题
- leetcode刷题答案
- Solidworks教程:solidworks常用的十个技巧
- VMware安装Ubuntu教程
- 从DT时代云栖大会聊聊恒生电子
- 傅里叶变换、拉普拉斯变换的应用