`
gcq04552015
  • 浏览: 457399 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java反射机制应用场景

    博客分类:
  • java
 
阅读更多
反射机制实现:
1)导出文件(1-4)
2)结果集在页面的显示(在运行时构造任意一个类的对象):显示哪些列, 操作按钮权限的显示(在类中定义一个显示权限的属性真或假,在得到的结果集后调用反射机制和权限控制-得到真或假,在页面中进行判断)



1、在运行时判断任意一个对象所属的类。
Class cls = Class.forName("com.jdk");
返回true
System.out.print(cls.isInstance(new jdk()));

2、在运行时构造任意一个类的对象。
Class cls = Class.forName("com.jdk");
jdk jdkobj = cls.newInstance();

3、在运行时判断任意一个类所具有的成员变量和方法。
Class cls = Class.forName("com.jdk");
Methods methods[]= cls.getDecliedMethod();
Fields  fields[] = cls.getDeclieredFields();

4、在运行时调用任意一个对象的方法
Class cls = Class.forName("com.jdk");
Methods methods[]= cls.getDecliedMethod();
jdk jdkobj = new jdk();
String returnvalue = methods.invoke(jdkobj,null)

其中第四种方法最长使用:
主要有:
a.配置文件创建form对象。并初始化。
    1、使用配置文件产生类的实例。通过配置文件中提供的名称生成类的实例。
    2、使用类的实例,根据request中的参数生成一个properties文件,之后使用beanUtils.populte(form,pro);
    对form的属性进行复制,其中就是使用reflect方法。
b.当你不知道要创建什么类型的对象时,使用在运行时提供类的完整路径的方式来生成类的实例时,
    例如:
    在struts中对messageResources引用的生成中,使用到工厂方法的模式,对于他所要使用的工厂,他采用的是factoryClass参数来生成工厂,之后使用这个工厂的实例来生成messageResources对象。
    这其中就使用到了使用reflect产生类的实例。

c.当对象的方法只有在运行时才知道那些方法被调用,那些方法不用调用时,且方法遵循一定的规律生成,而且方法很对,比如100个。

例如:
使用日历生成客户经理的月报时,因为一个月是1到31天(最长),我们通过在数据库中配置客户经理日历的表,其中有
customerid,customercode,no1,no2,no3,no4,no5------,no31,remark,tag,status   .......
生成的bean和上面的表的字段相对性,如customerbean
我们通过jdbc从数据库查询得到客户经理每个月的数据,通过画表格的方式生成客户经理月报,输出每天的记录时,调用bean的1-31天的方法,如果不采用reflect那么将会是恼人的代码,采用reflect则会节省很多的时间和空间,

d.最有用的也是最经常使用的,通过回调的方式从resultset中查询数据,查询字段和类型的内容是动态的,查询的sql也是动态的即结果集是动态的。这时我们可以很好的使用反射机制。通过指定的字段和类型,使用反射的方法在结果集中查找,并封装成map传回。

分享到:
评论

相关推荐

    java反射机制应用

    java反射机制应用,文档中列举了使用java反射机制的各个应用场景,加以代码实例,使用学习非常方便。

    图解java反射机制及常用应用场景_字母哥博客

    图解java反射机制及常用应用场景_字母哥博客

    Java反射学习和反射的应用场景干货都在这里

    文章目录一、Java反射定义二、Java反射机制实现1、Class对象获取2、获取class对象的摘要信息3、获取class对象的属性、方法、构造函数等三、反射的应用场景1、动态代理2、自定义注解实现日志管理 写在前面:Java反射...

    Java高级程序设计实战教程第三章-Java反射机制.pptx

    Java高级程序设计 第3章 Java反射机制 3.1 应用场景 3.2 相关知识3.3 实施过程 3.4 拓展知识3.5 拓展训练 3.6 课后小结3.7 课后习题 3.8 上机实训 Java高级程序设计实战教程第三章-Java反射机制全文共15页,当前为第...

    Java 学习之反射机制及应用场景

    前言:  近公司正在进行业务组件化进程,其中的路由实现用到了Java的反射机制,...  JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方

    Java学习之反射机制及应用场景介绍

    本篇文章主要介绍了Java反射机制及应用场景,反射机制是很多Java框架的基石。非常具有实用价值,需要的朋友可以参考下。

    java反射机制的应用

    介绍反射的基本原理和实现,以及所涉及到的类和方法,应用的场景

    Java的反射机制讲解案例代码 Class类、 获取类的结构信息:构造函数、方法和字段,动态创建对象、调用方法和设置属性

    适用于有一定Java编程基础的开发人员,希望了解和应用Java反射机制的使用者。 使用场景及目标 使用反射机制的典型场景包括以下几个方面: 在运行时动态加载和创建类对象。 通过反射调用对象的方法和访问对象的字段...

    复习反射利用反射机制和AOP代理模式

    reflection是一系列的API,用于表示或者处理当前JVM中的类,接口和对象. java.lang.reflect/java.lang.Class 在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。

    Lcsbs#technology-summary#什么是反射机制_反射机制的应用场景有哪些_1

    1.知道具体类的情况下可以使用: 3.通过对象实例instance.getClass()获取: 4.通过类加载器xxxClassLoader.loadClass

    java反射应用详细介绍

    本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。 下面开始正文。 【案例1】通过一个对象...

    java 面试常见问题整理

    反射机制优缺点 反射的应用场景 注解 异常 Exception 和 Error 有什么区别? Checked Exception 和 Unchecked Exception 有什么区别? Throwable 类常用方法有哪些? try-catch-finally 如何使用? finally 中的代码...

    SpringAOP的实现机制(底层原理)、应用场景等详解,模拟过程的实例

    您将了解如何使用Java的反射机制来创建代理对象,以及如何将横切逻辑注入到目标方法中。我们还提供了实际示例,演示如何在Spring AOP中使用JDK动态代理。 CGLib动态代理: 我们将深入研究CGLib动态代理,它允许您在...

    Java岗位常规面试题.pdf

    请举例说明多态的应用场景。 2. 请解释Java中的反射(Reflection)机制以及其在实际项目中的应用。 3. Java中的HashMap和ConcurrentHashMap有什么区别?请比较它们的特点和适用场景。 4. 请解释Java中的线程安全...

    JAVA学习视频之Java8高级编程(2)

    这些实例展示了Java高级编程技术在实际开发中的应用场景,帮助开发者提高代码的效率和质量。通过学习和理解更高级的Java编程技巧,我们能够更好地应对复杂的编程需求,提升软件开发的水平和竞争力。

    JAVA学习视频之Java8高级编程(1)

    这些实例展示了Java高级编程技术在实际开发中的应用场景,帮助开发者提高代码的效率和质量。通过学习和理解更高级的Java编程技巧,我们能够更好地应对复杂的编程需求,提升软件开发的水平和竞争力。

    JAVA学习视频之Java8高级编程(3)

    这些实例展示了Java高级编程技术在实际开发中的应用场景,帮助开发者提高代码的效率和质量。通过学习和理解更高级的Java编程技巧,我们能够更好地应对复杂的编程需求,提升软件开发的水平和竞争力。

    Java后端+Java后端中级面试题

    请解释Java中的反射机制,以及它的用途和局限性。 什么是Java的序列化和反序列化?为什么它们在分布式系统中很重要? 解释什么是Java的设计模式,并列举几个常用的设计模式及其应用场景。 这些题目涵盖了Java开发中...

    Java大数据开发+Java大厂面试题

    请解释Java中的反射机制,以及它的用途和局限性。 什么是Java的序列化和反序列化?为什么它们在分布式系统中很重要? 解释什么是Java的设计模式,并列举几个常用的设计模式及其应用场景。 这些题目涵盖了Java开发中...

    Java面试题+Java后端中级面试题

    请解释Java中的反射机制,以及它的用途和局限性。 什么是Java的序列化和反序列化?为什么它们在分布式系统中很重要? 解释什么是Java的设计模式,并列举几个常用的设计模式及其应用场景。 这些题目涵盖了Java开发中...

Global site tag (gtag.js) - Google Analytics