类加载器classLoader加载配置文件多种方法,框架原理--反射
来源:互联网 发布:关系数据库语言 编辑:程序博客网 时间:2024/05/21 11:37
public class FrameReflect {@SuppressWarnings("unchecked")public static void main(String[] args) {try {/** * 如果直接将配置文件放在项目文件夹中,但是一般这种情况,不利于将class文件打包给客户,所以讲配置文件放在源文件src目录 * 这样MyEclipse会自动将配置文件放在class目录中。(禁用) * InputStream input = new FileInputStream("config.properties"); * 将配置文件放入包中之后,这种方式相对不能得到绝对路径,不提倡使用: * InputStream input = new FileInputStream("src/com/interview/frameReflect/config.properties"); * 通过类加载器: * InputStream input = FrameReflect.class.getClassLoader().getResourceAsStream("com/interview/frameReflect/config.properties"); * 而class类一般都是用类加载器加载进来的,我们可以直接用类的加载器,直接用的时候,路径就是为相对于本类(FrameReflect)的路径 * InputStream input = FrameReflect.class.getResourceAsStream("config.properties"); * 当然是可以不相对于路径,这就要在前面加上/和路径名了,不过这种方法对于配置文件路径完全与本类的路径无关的情况 * InputStream input = FrameReflect.class.getResourceAsStream("/com/interview/frameReflect/config.properties"); */InputStream input = FrameReflect.class.getResourceAsStream("/com/interview/frameReflect/config.properties");Properties properties = new Properties();properties.load(input);//通过配置文件得到类名String className = properties.getProperty("className");//利用反射技术初始化类名Collection collection = (Collection)Class.forName(className).newInstance();MyPoint p1 = new MyPoint(5, 6);MyPoint p2 = new MyPoint(3, 2);MyPoint p3 = new MyPoint(5, 8);MyPoint p4 = new MyPoint(5, 6);collection.add(p1);collection.add(p2);collection.add(p3);collection.add(p4);System.out.println("集合的大小为:"+collection.size());} catch (Exception e) {System.out.println("配置文件未找到!!!");}}}
config.properties配置文件内容:
className =java.util.HashSet
来源视频:张孝祥老师----28_用类加载器的方式管理资源和配置文件
0 0
- 类加载器classLoader加载配置文件多种方法,框架原理--反射
- 利用反射模拟框架 类加载器 加载配置文件
- classloader加载类原理
- 框架开发原理/类加载器加载配置文件
- java类加载器 classLoader原理解析
- JVM ClassLoader类加载原理
- JVM ClassLoader类加载原理
- 利用Java反射机制模拟框架利用类加载器加载配置文件
- Classloader类加载器
- 类加载器ClassLoader
- ClassLoader类加载器
- ClassLoader 类加载器
- classLoader 类加载器
- ClassLoader(类加载器)
- 类加载器(ClassLoader)
- ClassLoader类加载器
- 类加载器Classloader
- 类加载器ClassLoader
- Android上实现Push
- Android之退出整个应用的一种方法
- tomcat的OutOfMemoryError(PermGen space)解决方法
- ViewPager+Fragment实现滑动标签
- 《HTML5 从入门到精通--7.6.3 单元格垂直跨度——rowspan》
- 类加载器classLoader加载配置文件多种方法,框架原理--反射
- virtualbox下安装ubuntu11.10 server
- Can't load Microsoft.ReportViewer.ProcessingObjectModel.dll
- 编程之美之中国象棋将帅问题
- 很反感凡是叼杠时尚的风格
- IOS 画1px细线
- JAVA通过搜狗词库过滤指定词性
- poj 1390 Blocks(dp,黑书dp方块消除)
- 最短路径