Spring入门第十三课
通过FactoryBean来配置Bean
package logan.spring.study.factoryBean;public class Car {private String brand;private int price;public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}@Overridepublic String toString() {return "Car [brand=" + brand + ", price=" + price + "]";}public Car(String brand, int price) {super();this.brand = brand;this.price = price;} }
package logan.spring.study.factoryBean;import org.springframework.beans.factory.FactoryBean; //自定义的FactoryBean需要实现FactoryBean接口 public class CarFactoryBean implements FactoryBean<Car>{private String brand;public void setBrand(String brand) {this.brand = brand;}//返回bean的对象 @Overridepublic Car getObject() throws Exception {// TODO Auto-generated method stubreturn new Car(brand,500000);}//返回Bean的类型 @Overridepublic Class<?> getObjectType() {// TODO Auto-generated method stubreturn Car.class;}@Overridepublic boolean isSingleton() {// TODO Auto-generated method stubreturn true;}}
下面是配置文件
<?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/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!-- 通过FactoryBean来配置Bean的实例 class:指向FactoryBean的全类名property:配置FactoryBean的属性但实际上返回的实例却是FactoryBean的getObject()方法返回的实例--><bean id="car" class="logan.spring.study.factoryBean.CarFactoryBean"><property name="brand" value="BMW"></property></bean></beans>
下面是输出结果:
五月 21, 2017 7:44:58 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh 信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@7aec35a: startup date [Sun May 21 19:44:58 CST 2017]; root of context hierarchy 五月 21, 2017 7:44:58 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions 信息: Loading XML bean definitions from class path resource [beans-beanfactory.xml] Car [brand=BMW, price=500000]
转载于:https://www.cnblogs.com/LoganChen/p/6885756.html
Spring入门第十三课相关推荐
- Spring入门第五课
集合属性 在Spring中可以通过一组内置的xml标签(如:<list>,<set>,<map>)来配置集合属性. 配置java.util.List类型的属性,需要 ...
- Spring入门第十七课
AOP编程 问题: 代码混乱: 越来越多的非业务需求(日志和验证等)加入后,原有的业务方法急剧膨胀,每个方法在处理核心逻辑的同事还必须兼顾其他多个关注点. 代码分散:以日志需求为例,只是为了满足这个单 ...
- 打开程序时固定位置_新手入门第五课:免费开源图像处理程序GIMP之矩形选择工具...
GIMP是一款图像处理软件,是跟Photoshop同一类型的软件,为了方便介绍,后面每篇相关GIMP图像处理软件的介绍文章的开头,我都将插入一段文字,用于介绍GIMP是什么,让不熟悉的朋友知道这是干什 ...
- java包名和类名可以一样吗_Java入门第三课:Java基本语法
Java基础 编写Java程序时,应注意以下几点: 1.大小写敏感: Java是大小写敏感的,这就意味着标识符Hello与hello是不同的.有些操作系统不区分大小写,不区分的话,文件名是不完全正确的 ...
- for循环语句例题及解析python_Python入门第8课,for语句综合练习,突破循环累加难点...
6月2日大陈上了Python入门第7课,从学生上交的练习题来看,第2题和第5题错误最多. 第2题:阅读程序写结果 for i in range(6): print("*") 有一部 ...
- 以二进制输出64位类型的数据_Java入门第五课:Java基本数据类型与变量的声明...
数据类型 基本数据类型 Java有八种基本类型.六种数字类型(四个整数型(默认是int 型),两个浮点型(默认是double 型)),一种字符类型,一种布尔型. Byte.short.int.long ...
- C# 编程入门第七课方法调用参数问题,方法标准,传递数组,返回数组,方法高级参数(out关键字参数,ref参数,params可变参数),方法重载,方法的递归,一些常用方法
C# 编程入门第七课 文章目录 C# 编程入门第七课 1. 方法调用参数问题 2. 方法标准 3.传递数组,返回数组 4. 方法高级参数 4.1 out 关键字参数 4.2 ref 参数 4.3 pa ...
- c# 编程入门第六课常量,枚举,枚举转换成其他类型变量(枚举和int,转 string字符串转枚举),结构体,数组,冒泡排序,实际使用排序,方法(函数)
c# 编程入门第六课 文章目录 c# 编程入门第六课 1. 常量 2. 枚举 3. 枚举转换成其他类型变量 3.1 枚举和int 3.2 转string 3.2 字符串转枚举 4.结构体 5.数组 7 ...
- C# 编程入门第五课,VS2019程序调试,for循环,水仙花数,Console.Write,又一种类型变换,三元表达式,产生随机数
C# 编程入门第五课 文章目录 C# 编程入门第五课 1. VS2019程序调试 2. for循环 3. 水仙花数 4. Console.Write() 5. 又一种类型变换 6. 三元表达式 7.产 ...
最新文章
- 零起点学算法02——输出简单的句子
- python seek到指定行_python文件操作seek()偏移量,读取指正到指定位置操作
- 利用IShellExecuteHook接口对程序监控
- 水题 ZOJ 3875 Lunch Time
- SpringSecurity 认证通过后显示当前认证用户名
- TensorLayer的安装
- ClickHouse内核分析-MergeTree的存储结构和查询加速
- tensorflow中同时两个损失函数_深度度量学习中的损失函数
- python更改数据框指定位置的数据_python-如何使用来自另一个数据框的新值更新pyspark数据框?...
- python+opencv 问题解决方案,OpenCV Error: Unspecified error (The function is not implemented. Rebuild the
- KE之undefinded instruction问题记录
- mybatis 为什么每次插入的时候总会创建一个SqlSession?
- 手把手教你用frp内网穿透
- 联想拯救者Y7000P鼠标卡顿问题(已解决)
- 深度学习 - 38.Gensim Word2Vec 实践
- OpenCV(Python)颜色识别(一)
- GO 基础语法50问
- 2018年最流行JavaScript明星项目
- 201571030130/201571030124《小学四则运算练习软件需求说明》结对项目报告
- 免安装Oracleclient和PL/SQL
热门文章
- python有趣的小项目-10 个最值得 Python 新人练手的有趣项目
- python处理表格数据-python通过xrld库读取表格数据
- python导入excel表格-Python 将Excel表格数据导入MySQL数据库
- python写软件-Python是怎么编写软件的?
- python3.5怎么安装pip-python3.5.2安装pip管理工具
- python命令行大全-用什么库写 Python 命令行程序(示例代码详解)
- python散点图拟合曲线-Python解决最小二乘法拟合并绘制散点图
- python下载免费吗-python实现文件下载的方法总结
- python在哪里学比较好-新手从Python的哪个版本开始学比较好?
- LeetCode Binary Search Tree Iterator( 二叉树迭代器)