通过工厂方式配置bean
src\dayday\CarFactoryBean.java
package dayday; import org.springframework.beans.factory.FactoryBean; /**
* Created by I am master on 2016/11/30.
*/
//自定义的FactoryBean需要实现FactoryBean接口
public class CarFactoryBean implements FactoryBean<Car>{
private String brand;
public void setBrand(String brand){
this.brand=brand;
}
@Override
public Car getObject() throws Exception {
return new Car(brand,"50w");
} @Override
public Class<?> getObjectType() {
return Car.class;
} @Override
public boolean isSingleton() {
return true;
}
}
src\dayday\Car.java
package dayday; import com.sun.org.apache.xpath.internal.SourceTree; import javax.sound.midi.Soundbank; /**
* Created by I am master on 2016/11/28.
*/
public class Car {
private String name;
private String money;
public void setName(String name){
this.name=name;
System.out.println("setName...");
}
public String getName(){
return name;
}
public void setMoney(String money){
this.money=money;
}
public String getMoney(){
return money;
}
public String toString(){
return "Car"+"["+"carname="+name+" carValue="+money+"]";
}
public Car(String name,String money){
this.money=money;
this.name=name;
}
public Car(){
System.out.println("Car's constructor...");
}
public void init(){
System.out.println("init...");
}
public void destroy(){
System.out.println("destroy...");
}
}
src\dayday\Main.java
package dayday; import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.sql.SQLException; /**
* Created by I am master on 2016/11/28.
*/
public class Main {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
ApplicationContext ctx=new ClassPathXmlApplicationContext("beans.xml");
Car car=ctx.getBean("car",Car.class);
System.out.println(car);
}
}
src\beans.xml
<?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"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!--
通过FactoryBean来配置Bean的实例
class指向FactoryBean的全类名
property:配置FactoryBean的属性,但实际返回的实例是FactoryBean的getObject()方法返回的实例
-->
<bean id="car" class="dayday.CarFactoryBean">
<property name="brand" value="BMW"></property>
</bean>
</beans> 运行结果
Car[carname=BMWcarValue=50w]
通过工厂方式配置bean的更多相关文章
- 跟着刚哥学习Spring框架--通过XML方式配置Bean(三)
Spring配置Bean有两种形式(XML和注解) 今天我们学习通过XML方式配置Bean 1. Bean的配置方式 通过全类名(反射)的方式 √ id:标识容器中的bean.id唯一. √ cl ...
- spring4-2-bean配置-9-通过工厂方法配置bean
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjwAAAFICAIAAADbNrOHAAAgAElEQVR4nO2dy7W0uhGFOxWn4JEXAS
- 跟着刚哥学习Spring框架--通过注解方式配置Bean(四)
组件扫描:Spring能够从classpath下自动扫描,侦测和实例化具有特定注解的组件. 特定组件包括: 1.@Component:基本注解,识别一个受Spring管理的组件 2.@Resposit ...
- spring学习笔记 星球日two - 注解方式配置bean
注解要放在要注解的对象的上方 @Autowired private Category category; <?xml version="1.0" encoding=" ...
- spring学习笔记 星球日one - xml方式配置bean
ide: idea lib包的导入:http://webcache.googleusercontent.com/search?q=cache:http://zyjustin9.iteye.com/bl ...
- 4.spriing:Bean的生命周期/工厂方法配置Bean/FactoryBean
1.Bean的生命周期 scope:singleton/prototype 1)spring容器管理singleton作用的生命周期,spring能够精确知道Bean合适创建,何时初始化完成,以及何时 ...
- Spring框架学习(6)使用ioc注解方式配置bean
内容源自:使用ioc注解方式配置bean context层 : 上下文环境/容器环境 applicationContext.xml 1 ioc注解功能 注解 简化xml文件配置 如 hibernate ...
- Spring初学之通过工厂方法配置Bean
工厂方法配置bean分为两种,一种是实例工厂方法,另一种是静态工厂方法. 先来看看实体bean: Car.java: package spring.beans.factory; public clas ...
- 11.Spring通过工厂方法配置Bean
通过工厂方法配置Bean暴扣静态工厂方法和实例工厂方法. 1.静态工厂方法 调用静态工厂方法创建Bean是将对象创建的过程封装到静态方法中,当客户端需要对象时,只需要简单的调用静态方法,而不去关心创建 ...
随机推荐
- 本地jsp连到服务器上的sqlserver
1.首先通过远程桌面连接到自己的服务器 方法很简答,打开远程桌面连接,然后输入服务器ip(外网ip),然后输入登录名和密码. 可以参考腾讯云给的教程:http://bbs.qcloud.com/for ...
- 在cwcity空间上安装phpmyadmin
上传程序后,安装phpMyAdmin-4.1.4-all-languages.3715384168.zip 出现了错误: Warning: realpath() [function.realpath] ...
- flask笔记2-程序的基本结构
第一个flask web程序 1.初始化(所有flask程序都必须创建一个程序实例,程序实例是Flask类的对象): from flask import Flask app = Flask(__nam ...
- unity调用摄像头的方法
http://blog.csdn.net/cocoa_china/article/details/10527995 using UnityEngine; using System.Collection ...
- javascript 之 prototype 浅析
prototype 原型 javascript 是一种 prototype based programming 的语言, 而与我们通常的 class based programming 有很大 的区别 ...
- SPSS数据分析—聚类分析
多元分析的主要思想之一就是降维,我们已经讲过了很多降维的方法,例如因子分析.主成分分析,多维尺度分析等,还有一种重要的降维方法,就是聚类分析. 聚类分析实质上就是按照距离远近将数据分成若干个类别,使得 ...
- Sprint2(12.6)
Sprint1第二阶段 1.类名:软件工程-第二阶段 方案一:此方案操作界面只有前台.厨房 (1)前台:用户到前台点餐,服务员操作界面,勾选客人所在桌号(不可重复勾选),并输入所选菜品,可增.删.改所 ...
- 移动端设置字体px转换rem的脚本
(function (){ var _self = this; _self.width = 640;//设置默认最大宽度 _self.fontSize = 100;//默认字体大小 _self.wid ...
- nodejs 服务端添加相应头Access-Control-Allow-Origin
重点在这句:res.setHeader("Access-Control-Allow-Origin", "*"); var http = require(&quo ...
- 如何在MySql中记录SQL日志记录
My SQL可以用下面方法跟踪sql 语句,以下方法以Windows平台为例,linux雷同: 1 配置my.ini文件(在安装目录,linux下文件名为my.cnf 查找到[mysql ...