反射在框架开发中的应用
2011-05-23 01:10
225 查看
框架就是有很多牛人在我们还在上小学的时候(不懂程序的时候)给我们做了一套开发的架子,以后我们在应用开发时。就可以直接用这套架子,只需要把我们自己的一点东西加进来就可以了。
就好比房子,开发商为我们提供了毛坯房。每个人可以通过自己的喜好来给这套房装修。比如装门窗等。那么毛坯房就是框架,门窗就是自己开发的类。而我们可能还想给门装上一把锁。而这把锁是我们从别人那里买来的。这锁就相当于工具类
毛坯房----->框架
门窗--------->自己开发的类
锁----------->工具类
下面做一个反射应用在框架开发上的例子
定义一个资源文件
ClassName=java.util.ArrayList注意不要加引号,如果加引号了。就会发出找不到类的错误
下面就是通过从资源文件中获得要操作的类名,通过类名反射到那个类的本身,进而使用那个类
package cn.yangtao.reflect;
import java.io.FileInputStream;
import java.io.InputStream;
import java.lang.reflect.*;
import java.util.Collection;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
import java.util.*;
public class ColectionReflect {
/**
* @param args
*/
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
InputStream in=new FileInputStream("className.properties");
Properties properties=new Properties();
properties.load(in);
in.close();
String ClassName=properties.getProperty("ClassName");
Collection allSet=(Collection)Class.forName(ClassName).newInstance();
//Set allSet=new HashSet();
ReflectPoint r1=new ReflectPoint(1,3);
ReflectPoint r2=new ReflectPoint(3,2);
ReflectPoint r3=new ReflectPoint(1,4);
ReflectPoint r4=new ReflectPoint(1,3);
allSet.add(r1);
allSet.add(r2);
allSet.add(r3);
// r1.setX(3);
// allSet.remove(r1);
System.out.println(allSet.size());
}
}
老婆要求加的链接>>
就好比房子,开发商为我们提供了毛坯房。每个人可以通过自己的喜好来给这套房装修。比如装门窗等。那么毛坯房就是框架,门窗就是自己开发的类。而我们可能还想给门装上一把锁。而这把锁是我们从别人那里买来的。这锁就相当于工具类
毛坯房----->框架
门窗--------->自己开发的类
锁----------->工具类
下面做一个反射应用在框架开发上的例子
定义一个资源文件
ClassName=java.util.ArrayList注意不要加引号,如果加引号了。就会发出找不到类的错误
下面就是通过从资源文件中获得要操作的类名,通过类名反射到那个类的本身,进而使用那个类
package cn.yangtao.reflect;
import java.io.FileInputStream;
import java.io.InputStream;
import java.lang.reflect.*;
import java.util.Collection;
import java.util.HashSet;
import java.util.Properties;
import java.util.Set;
import java.util.*;
public class ColectionReflect {
/**
* @param args
*/
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
InputStream in=new FileInputStream("className.properties");
Properties properties=new Properties();
properties.load(in);
in.close();
String ClassName=properties.getProperty("ClassName");
Collection allSet=(Collection)Class.forName(ClassName).newInstance();
//Set allSet=new HashSet();
ReflectPoint r1=new ReflectPoint(1,3);
ReflectPoint r2=new ReflectPoint(3,2);
ReflectPoint r3=new ReflectPoint(1,4);
ReflectPoint r4=new ReflectPoint(1,3);
allSet.add(r1);
allSet.add(r2);
allSet.add(r3);
// r1.setX(3);
// allSet.remove(r1);
System.out.println(allSet.size());
}
}
老婆要求加的链接>>
相关文章推荐
- 插件式前端应用开发框架
- Java开发框架时编写的小功能(反射获取Method参数描述及注解描述)
- HTML5移动端跨平台应用开发框架解析
- AliOS Things蓝牙协议栈及应用开发框架介绍
- CYQ.Data 数据框架 跨平台应用开发
- 软件系统开发中的组件框架技术研究、设计和应用【转自lrn资源网】
- HTML5移动端跨平台应用开发框架解析
- 使用 CodeIgniter 框架快速开发 PHP 应用(三)
- EntDIY - Java企业应用开发框架全新版本发布
- 10个易于开发的移动应用开发框架
- 使用 ACE 库框架在 UNIX 中开发高性能并发应用
- Vue UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例
- [转]Tangram框架应用开发的一般模式
- 基于框架的应用系统开发的质量属性
- [目前最火的前端开发框架]React组件的应用分析
- cWeb开发框架,基于asp.net的cWeb应用开发平台介绍(一)
- iOS快速开发框架Bee-Framework应用和解析(二) --- Bee framework架构概览
- Struts 2.x仍然明显落后于时代。 Struts 2.x这一类老牌Web MVC开发框架仅能用于开发瘦客户端应用,无法用来开发对于交互体验要求更高的应用。
- 实战揭秘:开发.Net平台应用系统框架
- 中国移动:物联网项目实战开发企业级应用(ssp框架应用、EXTJS4.2、GoogleMap、JPA)