Spring入门第十三课
2024-09-06 10:21:41
通过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;
}
@Override
public 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的对象
@Override
public Car getObject() throws Exception {
// TODO Auto-generated method stub
return new Car(brand,500000);
} //返回Bean的类型
@Override
public Class<?> getObjectType() {
// TODO Auto-generated method stub
return Car.class;
} @Override
public boolean isSingleton() {
// TODO Auto-generated method stub
return 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]
最新文章
- 最长回文子串(Longest Palindromic Substring)
- 总结CSS3新特性(选择器篇)
- iOS开发问题之Could not instantiate class named NSLayoutConstraint
- 网页3D效果库Three.js初窥
- parentNode(返回指定节点的父节点。)
- Html的maxlength属性
- 关于jQuery中.attr()和.prop()的问题
- [读书笔记]了不起的node.js(四)
- app 转caf 音频 代码
- citrix协议ICA技术原理
- Windows Store Javascript项目使用高德地图、谷歌地图、百度地图API
- struts2(一)之初识struts2
- c++中函数的内存注意项
- 这是一个新的开始at this very monment
- 转://Linux Multipath多路径配置与使用案例
- boost python3依赖安装
- javascript对文件的读写
- 实力封装:Unity打包AssetBundle(番外篇)
- 【转载】 强化学习(七)时序差分离线控制算法Q-Learning
- 浅谈Java代理二:Cglib动态代理-MethodInterceptor
热门文章
- 【WinForm】创建自定义控件(转)
- ArcGIS api for javascript 离线部署
- 九度OJ 1018:统计同成绩学生人数 (基础题)
- TVirtualStringTree的Minimal例子学习
- python基础教程_学习笔记11:魔法方法、属性和迭代器
- SAP 已经有17个模块
- YTST_CX_0001(ALV栏位汇总)
- Java for LeetCode 109 Convert Sorted List to Binary Search Tree
- Java for LeetCode 108 Convert Sorted Array to Binary Search Tree
- 小程序开发之xxx is not defined