转贴处 http://www.blogjava.net/improviser/archive/2007/09/24/147777.html
本文内容演示属性文件用法的简单例子。
首先定义模型接口Model,视图接口View,以及它们实现类ImpModel,ImpView.
Model中定义方法getString();View中定义Model实例为其属性,在实现类ImpView中实现方法
disPlay(),其方法体为Model实例的getString()方法,并将其打印出来。
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->定义属性文件
msf.properties
disPalyer.class=ImpView
provider.class=ImpModel
编写工厂类
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->TestFactory.java
importjava.util.Properties;
publicclassTestFactory{
privatestaticTestFactoryinstance=null;
privatePropertiesprops=null;
privateViewdisPalyer=null;
privateModelprovider=null;
static{
instance=newTestFactory();
}
publicstaticTestFactorygetInstance(){
returninstance;
}
publicViewgetView(){
returndisPalyer;
}
publicModelgetModel(){
returnprovider;
}
privateTestFactory(){
props=newProperties();
try{
//加载属性文件
props.load(TestFactory.class.getResource("msf.properties").openStream());
//获取属性值
StringrendererClass=props.getProperty("renderer.class");
StringproviderClass=props.getProperty("provider.class");
//产生类实例对象
renderer=(View)Class.forName(rendererClass).newInstance();
provider=(Model)Class.forName(providerClass).newInstance();
}catch(Exceptionex){
ex.printStackTrace();
}
}
}
最后编写测试方法
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->1publicstaticvoidmain(String[]args){
2Viewmr=TestFactory.getInstance().getView();
3Modelmp=TestFactory.getInstance().getModel();
4mr.setModel(mp);
5mr.disPlay();
6}
综上,对属性文件的加载主要语句
props.load( TestFactory.class.getResource("msf.properties").openStream());
并分别通过newInstance()产生实例对象,本例中使用了设计模式中的工厂模式以及单例实例模式,
因此具有对设计模式进一步了解的意义。
注:另一用法
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->1publicstaticvoidmain(String[]args)throwsException{
2
3//getthebeanfactory
4BeanFactoryfactory=getBeanFactory();
5
6Viewmr=(View)factory.getBean("view");
7mr.render();
8}
9
10privatestaticBeanFactorygetBeanFactory()throwsException{
11//getthebeanfactory
12DefaultListableBeanFactoryfactory=newDefaultListableBeanFactory();
13
14//createadefinitionreader
15PropertiesBeanDefinitionReaderrdr=newPropertiesBeanDefinitionReader(
16factory);
17
18//loadtheconfigurationoptions
19Propertiesprops=newProperties();
20props.load(TestFactory.class.getResource("msf.properties").openStream());
21
22rdr.registerBeanDefinitions(props);
23
24returnfactory;
25}
分享到:
相关推荐
SPRING 笔记SPRING 笔记SPRING 笔记
spring笔记spring基础笔记
spring入门笔记
【尚硅谷周阳老师SpringCloud笔记】是一份深入学习SpringCloud技术体系的教程资源,由知名教育机构尚硅谷的周阳老师编撰。SpringCloud作为微服务架构的重要框架,广泛应用于现代企业的分布式系统开发中。这份笔记...
狂神springcloud笔记+源码+config 狂神springcloud笔记+源码+config 狂神springcloud笔记+源码+config 狂神springcloud笔记+源码+config 狂神springcloud笔记+源码+config 狂神springcloud笔记+源码+...
1. **IoC(Inversion of Control)容器**:Spring的核心特性之一,通过反转控制权,让框架负责管理对象的生命周期和装配,开发者只需定义配置,无需手动创建对象。 2. **依赖注入(Dependency Injection, DI)**:...
Spring Cloud Config 是一个用于微服务架构中的外部配置中心,它允许开发者在运行时管理应用程序的配置。这个框架基于Git或Subversion等版本控制系统,提供了一种集中化、动态化的配置方式,使得微服务可以从中央...
Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...
尚硅谷Spring笔记
spring笔记 狂神说
尚硅谷Spring6的笔记
`org.springframework.beans.factory.config.PropertyPlaceholderConfigurer` 是Spring框架中的一个重要组件,主要负责处理配置文件中的占位符替换。这个类是Spring在初始化bean时用来解析和注入环境变量或系统属性...
Spring学习笔记( spring视频笔记)
spring 初学 笔记 入门提示
在本教程中,我们将深入探讨如何将Spring Boot应用程序与Spring Cloud Kubernetes相结合,以实现从Kubernetes的ConfigMap中动态读取并自动刷新配置。Spring Cloud Kubernetes是一个强大的工具,它允许我们在...
读书笔记:spring cloud 微服务实战 config 仓库
Spring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).doc
Spring Cloud Config/Bus 源码解读 本文将对 Spring Cloud Config/Bus 的源码进行解读,涵盖 Server 端、Client 端、Bus 的运行原理等方面的内容。 一、初始化 在 Spring Cloud Config/Bus 中,初始化的过程主要...
在Java开发领域,Spring框架无疑是最具影响力和广泛使用的轻量级框架之一。它以其强大的功能、灵活的设计和丰富的生态系统,成为了企业级应用开发的首选。本文将根据传智播客左慈老师的培训笔记,对Spring框架的核心...