反射模拟框架中配置的加载
来源:互联网 发布:狗粮 饼干 淘宝 编辑:程序博客网 时间:2024/06/05 17:30
test.java
package test2;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.util.Collection;import java.util.Properties;/** * * @author Dqd * 模拟框架中配置的加载 * 在源文件中不出现具体的容器名称,通过配置文件来配置 * */public class test {public static void main(String[] args) throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {//首先加载properties文件//InputStream ip = new FileInputStream("config.properties");//或者使用类加载器加载InputStream ip = test.class.getClassLoader().getResourceAsStream("test2/config.properties");//或者省略.getClassLoader().那么后面的括号内就不用写包名了,因为这是相对当前包而言的//如果路径的开头是/,代表从跟开始进行寻找Properties pro = new Properties();pro.load(ip);ip.close();String className = pro.getProperty("className");Collection coll = (Collection) Class.forName(className).newInstance(); Point p1 = new Point(1,1);Point p2 = new Point(2,2);Point p3 = new Point(3,3);Point p4 = new Point(1,1);coll.add(p1);coll.add(p2);coll.add(p3);coll.add(p4);System.out.println(coll.size());}}
config.properties:
className=java.util.HashSetclassName2=java.util.ArrayList
Point:
package test2;public class Point {private int x;private int y;public Point(int x, int y) {this.x = x;this.y = y;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + x;result = prime * result + y;return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Point other = (Point) obj;if (x != other.x)return false;if (y != other.y)return false;return true;}}
0 0
- 反射模拟框架中配置的加载
- 利用反射模拟框架 类加载器 加载配置文件
- 利用Java反射机制模拟框架利用类加载器加载配置文件
- 利用反射模拟Tomcat类加载器的toString方法
- 反射加载资源的3中方式
- Java中框架的概念,以及从配置文件中读取配置信息并加载指定类
- 黑马程序员--数组的反射,反射的实现框架实例,配置文件加载
- web框架之利用python的反射模拟小web框架(一)
- web框架之利用python的反射模拟小web框架(二)动态导入模块
- 在Spring框架中从数据库中加载配置
- 在Spring框架中从数据库中加载配置
- 用反射模拟框架出现问题
- spring框架中多数据源创建加载并且实现动态切换的配置实例代码
- spring框架中多数据源创建加载并且实现动态切换的配置实例代码
- spring框架中多数据源创建加载并且实现动态切换的配置实例代码
- JAVA中 反射加载类 获得类的字节码
- java中反射类的加载和构造函数
- Java中类的加载与反射机制
- 11.09
- mysql.zip格式安装包的安装方法
- 栈空间与堆空间
- C++输出格式控制、输入含空格的字符串
- iOS7下滑动返回与ScrollView共存
- 反射模拟框架中配置的加载
- 435. Non-overlapping Intervals
- C++11 多线程同步
- HDU 5130 Signal Interference
- Asm实现静态AOP的两种方式-生成java-proxy类
- Eclipse快捷键
- spark机器学习-聚类
- 内心深处的震撼,科研道路上的拙见,命运不甘平凡的抗争
- <四> 无显示器的情况下远程登录树莓派