深入学习Spring框架之二构造器注入方式装配Bean
来源:互联网 发布:粉尘分散度数据 编辑:程序博客网 时间:2024/06/04 19:11
这一节我们来看看怎么使用Spring创建我们的Bean对象。
容器是Spring的核心,Spring的容器有两种类型:Bean工厂,由BeanFactory接口定义,是最简单的容器;以及应用上下文,由ApplicationContext定义。Bean工厂对于大多数应用来说太低级了,因此应用上下文更为受欢迎。
应用上下文又可以分为以下几种类型:
ClassPathXmlApplicationContext----从类路径下的XML配置文件加载上下文,把应用上下文定义文件当作类资源
FileSystemXmlApplicationContext----读取文件系统下的XML配置文件并加载上下文定义
XmlWebApplicationContext----读取Web应用下的XML配置文件并装载上下文定义
下面我们来应用Spring创建Bean对象,首先我们来模拟一个环境,G20峰会的晚会表演,据说很不赖,画面直接可以做壁纸
/** * 面向接口编程,表演者接口 * @author liuyc * */public interface Performer {public void perform();}
/** * 歌手类 * @author liuyc * */@SuppressWarnings("all")public class Singer implements Performer{private String song;private Instrument instrument;public Singer() {}public Singer(String song) {this.song = song;}public Singer(String song, Instrument instrument) {super();this.song = song;this.instrument = instrument;}@Overridepublic void perform() {this.instrument.play(song);System.out.println("while singing ...");}}
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean id="singer" class ="com.cm2easy.miki.example.chapter1.Singer"></bean></beans>这样我们就声明了一个简单Bean,在xml配置文件中我们没有进行任何多余的配置,这个时候spring默认是调用类的默认构造器,所产生的结果与我们的传统创建对象的方法是一样的:
Singer singer = new Singer();
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean id="singer" class ="com.cm2easy.miki.example.chapter1.Singer"><constructor-arg value="听妈妈的话"></constructor-arg></bean></beans>这种构造器注入的方式相当于我们调用有参构造new一个对象,效果是一模一样的:
Singer singer = new Singer("听妈妈的话");
/** * 乐器接口 * @author liuyc * */public interface Instrument {public void play(String melodyName);}
/** * 钢琴类 * @author liuyc * */public class Piano implements Instrument{@Overridepublic void play(String melodyName) {System.out.println("正在演奏" + melodyName);}}
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean id="singer" class ="com.cm2easy.miki.example.chapter1.Singer"><constructor-arg value="听妈妈的话"></constructor-arg><constructor-arg ref="piano"></constructor-arg></bean><bean id="piano" class="com.cm2easy.miki.example.chapter1.Piano"></bean></beans>如上所示,在调用public Singer(String song, Instrument instrument)构造器之前,先要声明Instrument的对象,再通过构造器注入生命singer对象,这样歌手不仅可以唱歌还可以演奏对应歌曲的钢琴曲了
构造器注入的方式声明Bean对象,无外乎上面的情况,掌握了以上配置要想通过构造器声明对象就可以游刃有余了。
1 0
- 深入学习Spring框架之二构造器注入方式装配Bean
- 一点一滴学习Spring(二)之装配bean简单方式
- Spring(二)装配Bean(注入)
- Spring的《XML显式装配bean》之通过构造器注入Bean
- Spring 装配Bean的构造注入
- Spring学习笔记(二) --- 装配Bean之自动化装配
- Spring之装配bean(二)
- Spring注入方式二:构造器注入
- spring框架详解(二)--bean的装配
- Spring之装配bean的方式
- 深入学习Spring框架之七SpEL表达式装配
- Spring实战之二:装配Bean
- Spring学习之旅(一) 依赖注入(DI)与Spring Bean的装配
- spring 装配bean(二)
- (6) Spring 如何装配 集合类 以及 【第二种 依赖注入 方式】使用 构造器 注入
- (5) Spring 如何装配 集合类 以及 【第二种 依赖注入 方式】使用 构造器 注入
- Spring学习之Bean装配、生命周期。。
- Spring学习笔记之Bean装配
- 什么是HashTable?HashMap和HashTable的区别
- Java基础
- tab中的highcharts图形在tab切换后宽度错乱的恢复
- XML概述与语法
- Spring中事务管理支持哪几种方式以及每种方式的具体使用方法
- 深入学习Spring框架之二构造器注入方式装配Bean
- JavaScript文档扫描 - 支持Windows, Linux & macOS
- 从一个widget中打开另一个widget
- Android开发笔记(一百二十四)自定义相册
- Tomcat开启HTTPS
- Android录音相关代码
- C++ 字符数据类型 摘自《VisualC++2005入门经典》P46-P47
- linux下git厂库的创建与使用
- js 查询字符串中字符数量 字符位数