您的位置:首页 > 编程语言 > Java开发

[Java] 设计模式之工厂系列 03- spring.properties 的键值读取 / Spring3.0 读取 比较

2014-01-26 23:25 627 查看
Moveable
package com.bjsxt.spring.factory;

public interface Moveable {
void run();
}
Car
package com.bjsxt.spring.factory;

public class Car implements Moveable {

public void run() {
System.out.println("冒着烟奔跑中car.......");
}
}
Train
package com.bjsxt.spring.factory;

public class Train implements Moveable {

@Override
public void run() {
System.out.println("小火车呜呜呜");
}

}
spring.properties 这里用配置文件,所以不需要更改代码,只需要更改, Car - Train 什么的就好!
VehicleType=com.bjsxt.spring.factory.Car
Test
package com.bjsxt.spring.factory;

import java.io.IOException;
import java.util.Properties;

public class Test {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws Exception {
Properties props = new Properties();
props.load(Test.class.getClassLoader().getResourceAsStream("com/bjsxt/spring/factory/spring.properties"));
String vehicleTypeName = props.getProperty("VehicleType");
System.out.println(vehicleTypeName);
Object o = Class.forName(vehicleTypeName).newInstance();
Moveable m = (Moveable)o;
m.run();
}
}

---------Spring3.0 读取 比较---------------------- 将所需 jar包 加入 build path----

applicationContext.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> 
<bean id="v" class="com.bjsxt.spring.factory.Car">
</bean>
<!--  v=com.bjsxt.spring.factory.Car -->

</beans>
Test
package com.bjsxt.spring.factory;

import java.io.IOException;
import java.util.Properties;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws Exception {
BeanFactory f = new ClassPathXmlApplicationContext("applicationContext.xml");
Object o = f.getBean("v");
Moveable m = (Moveable)o;
m.run();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐