09月07日学习杂记(CollectionFactory小例子)
2006-10-06 21:21
525 查看
CollectionFactory整理杂记
为了给BeanFactory学习作铺垫,张老师用一个CollectionFactory的一个实例来引导我们,并介绍在通过FACTORY来调用BEAN的时候的工作原理,现在把思路及其部分代码展示如下:
首先是CollectionFactory文件,通过它来解析一个PROPERTIES文件中的内容,并且返回一个BEAN的实例
=========================================================================================
package cn.itcast;
import java.util.*;
import java.io.*;
public class CollectionFactory{
public static Collection getCollection() throws Exception{
//定义一个输入流对象IPS,是COLLECTION.PROPERTIES文件地址的一个实例
InputStream ips = CollectionFactory.class.getResourceAsStream("/cn/itcast/collection.properties" );
//定义一个PROPERTIES用来存放输入流对象(一个PROPERTIES相当于一个HASHMAP,里面既有键,又有键所对应的值)
Properties props = new Properties();
//载入输入流对象
props.load(ips);
ips.close();
//定义一个字符型变量,用来存储键(CLASS)所对应的值
String strClassName = props.getProperty("class");
//得到STRCLASSNAME所对应的类
Class classCollection = Class.forName(strClassName);
//用类CLASSCOLLECTION创建一个实例,这个实例必然是一个COLLECTION类型的对象
Collection objCollection = (Collection) classCollection.newInstance();
//定义一个长字符串,用来存储ELEMENTS所对应的值(一个长字符串)
String strElements = props.getProperty("elements");
//用逗号将长字符串拆分为字符型数组
String [] elements = strElements.split(",");
//遍历字符数组,并把各元素加入OBJCOLLECTION对象中,返回这个对象
for(String element : elements){
objCollection.add(element);
}
return objCollection;
}
}
其次,是定义一个PROPERTIES文件,它来存储一些类及元素的信息
============================================================
class=java.util.ArrayList
elements=abc,def,ghi
最后,写一个主类文件(MainClass)用来加载并测试
================================================
package cn.itcast;
import java.util.Collection;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.log4j.BasicConfigurator;
public class MainClass{
public static void main(String [] args) throws Exception{
//初始LOG4J的一句话,使用非标准LOG4J所必须的一句话
BasicConfigurator.configure();
//从LOGFACTORY中实例化一个LOG对象,(注意传入的参数是MainClass.class)
Log log = LogFactory.getLog(MainClass.class);
Collection objCollection = CollectionFactory.getCollection();
//遍历OBJCOLLECTION对象,打印出这里的信息
for(Object obj : objCollection)
{
log.info(obj.toString());
}
}
}
为了给BeanFactory学习作铺垫,张老师用一个CollectionFactory的一个实例来引导我们,并介绍在通过FACTORY来调用BEAN的时候的工作原理,现在把思路及其部分代码展示如下:
首先是CollectionFactory文件,通过它来解析一个PROPERTIES文件中的内容,并且返回一个BEAN的实例
=========================================================================================
package cn.itcast;
import java.util.*;
import java.io.*;
public class CollectionFactory{
public static Collection getCollection() throws Exception{
//定义一个输入流对象IPS,是COLLECTION.PROPERTIES文件地址的一个实例
InputStream ips = CollectionFactory.class.getResourceAsStream("/cn/itcast/collection.properties" );
//定义一个PROPERTIES用来存放输入流对象(一个PROPERTIES相当于一个HASHMAP,里面既有键,又有键所对应的值)
Properties props = new Properties();
//载入输入流对象
props.load(ips);
ips.close();
//定义一个字符型变量,用来存储键(CLASS)所对应的值
String strClassName = props.getProperty("class");
//得到STRCLASSNAME所对应的类
Class classCollection = Class.forName(strClassName);
//用类CLASSCOLLECTION创建一个实例,这个实例必然是一个COLLECTION类型的对象
Collection objCollection = (Collection) classCollection.newInstance();
//定义一个长字符串,用来存储ELEMENTS所对应的值(一个长字符串)
String strElements = props.getProperty("elements");
//用逗号将长字符串拆分为字符型数组
String [] elements = strElements.split(",");
//遍历字符数组,并把各元素加入OBJCOLLECTION对象中,返回这个对象
for(String element : elements){
objCollection.add(element);
}
return objCollection;
}
}
其次,是定义一个PROPERTIES文件,它来存储一些类及元素的信息
============================================================
class=java.util.ArrayList
elements=abc,def,ghi
最后,写一个主类文件(MainClass)用来加载并测试
================================================
package cn.itcast;
import java.util.Collection;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.log4j.BasicConfigurator;
public class MainClass{
public static void main(String [] args) throws Exception{
//初始LOG4J的一句话,使用非标准LOG4J所必须的一句话
BasicConfigurator.configure();
//从LOGFACTORY中实例化一个LOG对象,(注意传入的参数是MainClass.class)
Log log = LogFactory.getLog(MainClass.class);
Collection objCollection = CollectionFactory.getCollection();
//遍历OBJCOLLECTION对象,打印出这里的信息
for(Object obj : objCollection)
{
log.info(obj.toString());
}
}
}
相关文章推荐
- spark:学习杂记+如何求丢失的数据例子--25
- Qt学习例子7——fileaccess
- 学习O/RM,从最简单的例子开始...之二
- AngularJS学习: service & factory
- 【深度学习】笔记3_caffe自带的第一个例子,Mnist手写数字识别所使用的LeNet网络模型的详细解释
- ApiDemos中LoaderManager回调接口LoaderCallbacks的调用顺序【学习例子】
- caffe学习例子(一) mnist手写字识别
- Ruby的面向对象方式编程学习杂记
- NHibernate 3 Beginner's Guide学习笔记-第二章-第一个完整的例子
- java 设计模式学习笔记二 工厂模式Factory
- Java学习第17天:集合框架Collection的知识补充和其他类(还有增强for)
- Hibernate3 参考手册 例子学习
- Spring源码学习-5.ProxyFactoryBean实现与源代码分析
- jsp学习杂记
- 集合源码学习(一):Collection
- java反射运用学习测试例子
- 终于培训完了,可以学习了 (滚动信息的小例子)
- 学习O/RM,从最简单的例子开始...之四
- linux学习杂记_c到c++
- Pie Chart 学习例子