当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

jOOR

Java 反射封装库
授权协议 Apache
开发语言 Java
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 不详
投 递 者 朱兴运
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

jOOR 在java原生的反射基础上进行了简单的封装,使得反射使用方便不少!

举个简单的列子,供大家参考。

java 原生反射写法:

try {
 
Method m1 = department.getClass().getMethod("getEmployees");
 
Employee employees = (Employee[]) m1.invoke(department);

 
for (Employee employee : employees) {
   
Method m2 = employee.getClass().getMethod("getAddress");
   
Address address = (Address) m2.invoke(employee);

   
Method m3 = address.getClass().getMethod("getStreet");
   
Street street = (Street) m3.invoke(address);

   
System.out.println(street);
 
}
}

// There are many checked exceptions that you are likely to ignore anyway
catch (Exception ignore) {

 
// ... or maybe just wrap in your preferred runtime exception:
 
throw new RuntimeException(e);
}

jOOR写法:

Employee[] employees = on(department).call("getEmployees").get();

for (Employee employee : employees) {
 
Street street = on(employee).call("getAddress").call("getStreet").get();
 
System.out.println(street);
}
  • joor 反射库 介绍和使用 java 反射 一般我们在使用反射的时候 都是 直接直接用java 原生提供的方法来写,写的多了 就感觉麻烦 try{ Class baseDexClassLoaderClass = Class.forName("dalvik.system.BaseDexClassLoader"); Field pathListField = baseDexClassLoa

  • Java中的原生反射库虽然方法不多,但写起来却非常繁琐, 比如: public static <T> T create(HttpRequest httpRequest) { Object httpRequestEntity = null; try { Class<T> httpRequestEntityCls = (Class<T>) Class.forName(H

  • jOOR简介 jOOR是基于java反射api的一个简单包装类,简单却十分实用。 jOOR这个名字是从jOOQ中得到的灵感,jOOQ是一个很棒的SQL的API。 一个简单的示例 // All examples assume the following static import: import static org.joor.Reflect.*; String world = on("java.

  • --摘自《android插件化开发指南》 1.jOOR库就一个Reflect.java类很重要 2.Reflect.java包括6个核心方法   1)on:包裹一个类或者对象,表示在这个类或对象上进行反射   2)create:用来调用之前的类的构造方法   3)call:方法调用   4)get:获取(field和method返回)值   5)set:设置属性值 No1: 根据字符串获取一个类

  • 1. 概述 JOOR = jOOR Object Oriented Reflection 是一个java反射工具包, 极小(只有4个核心类) 流式编程, 主要简化繁复的反射API使用, 没有另加反射缓存. 2. 示例 2.1 POM.xml <dependency> <groupId>org.jooq</groupId> <artifactId>joor-java-8</artifactI

  • 反射是什么 反射(Reflection)是Java程序开发语言的特征之一,它允许运行中的Java程序获取自身的信息,并且可以操作类或对象的内部属性。主要是指程序可以访问、检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。 Oracle官方对反射的解释: Reflection enables Java code to discover i

  • Overview jOOR stands for jOOR Object Oriented Reflection. It is a simple wrapper for the java.lang.reflect package. jOOR's name is inspired by jOOQ, a fluent API for SQL building and execution. Depend

  • java原生反射的使用 反射构造对象 //获得指定对象的构造方法,参数值传入与构造方法参数对应的类型 Constructor constructor = peopleClass.getConstructor(String.class); //分为无参和有参,参数传入与构造方法参数对应的值,获得对象引用 People people = (People) constructor.n

  • maven依赖: <dependency>     <groupId>org.jooq</groupId>     <artifactId>joor</artifactId>     <version>0.9.6</version> </dependency> 项目地址:https://github.com/jOOQ/jOOR 对java反射的一个封装,简化反射使用和使代码更简洁。 Overvie

  • 在Java和Android中,我们常常会使用反射来达到一些兼容的目的。Java原生提供的反射很是麻烦,使用起来很是不方便。比如我们想要调UserManager的静态方法get,使用原生的实现如下 1 2 3 4 5 6 7 8 9 10 11 try { final Method m = UserManager.class.getMethod("get", Context.class);

  • 官方介绍 jOOR - Fluent Reflection in Java jOOR is a very simple fluent API that gives access to your Java Class structures in a more intuitive way. The JDK’s reflection APIs are hard and verbose to use. O

  • 有时候需要用反射实现代码。直接用工具,joor   上代码: package com.ming.joor; import static org.joor.Reflect.*; public class Test { private String name="aa"; public static void main(String[] args) {

  • 在前面的博客 Java反射使用 列举了Java反射的一些使用,下面介绍开源反射工具JOOR的使用。  只需几行代码就实现了前面博客中内部类的反射: public void testJoor(){ Reflect.on("com.example.heqiang.testsomething.OuterClass") .create() .field("mInnerClass") .cal

  • 一.github地址 joor github地址 使用joor可以简化代码,可以捕捉到使用反射时无法抛出的异常 二.使用joor反射 测试类 @Data public class ABC { private String A; public String B; public void soutA(){ System.out.println("test")

 相关资料
  • 我正在尝试封送和取消封送映射到值对/从值对。我可以成功封送该对象,但是,我不能从XML中取消封送它。反封送结果是映射中存在的关键字,但其值为空。 下面是我要封送和取消封送的模型: 而且我还发现了一个关于这个问题的类似问题“JAXB:如何将映射编入 value ”,然而,它并没有解决解编组问题?

  • 问题内容: 最近我遇到了Reflection API,令我惊讶的是我们可以访问甚至更改私有变量。我尝试了以下代码 我得到以下输出。 我们说Java是一种面向对象的语言,它的主要功能是数据封装,继承,多态等。反射API不会改变数据封装的目的吗?为什么我们必须使用反射API?我在一些站点上读到它可以用于测试目的,但是据我说,模块已经过测试,可以使用JUnit测试用例轻松完成。那么谁能解释为什么我们会有

  • 本文向大家介绍Java利用反射自动封装成实体对象的方法,包括了Java利用反射自动封装成实体对象的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java利用反射自动封装成实体对象的方法。分享给大家供大家参考。具体分析如下: 利用此方法的时候需要传递的参数的名称,必须以行号结尾,去掉行号就是属性名称,比如页面传递name+rowNo,那么实体对象的属性名应该为name。代码如下 希望本

  • 6.6. 封装 一个对象的变量或者方法如果对调用方是不可见的话,一般就被定义为“封装”。封装有时候也被叫做信息隐藏,同时也是面向对象编程最关键的一个方面。 Go语言只有一种控制可见性的手段:大写首字母的标识符会从定义它们的包中被导出,小写字母的则不会。这种限制包内成员的方式同样适用于struct或者一个类型的方法。因而如果我们想要封装一个对象,我们必须将其定义为一个struct。 这也就是前面的小

  • prototype对象 构造函数的缺点 prototype属性的作用 原型链 constructor属性 Object.getPrototypeOf方法 Object.create方法 isPrototypeOf方法 prototype对象 构造函数的缺点 JavaScript通过构造函数生成新对象,因此构造函数可以视为对象的模板。实例对象的属性和方法,可以定义在构造函数内部。 function

  • 主要内容:1、public,2、private,3、protected,4、internal,5、protected internalC# 是一门面向对象编程语言,面向对象编程语言有三大特性,分别是封装、 继承和 多态。所谓封装就是将一个或多个项目(函数)集合在一个单元中,这个单元称之为类,我们可以根据需要通过访问权限修饰符来设定类中成员的范围和可见性。C# 中的访问权限修饰符有以下几种: public:公共的,所有对象都可以访问,但是需要引用命名空间; private:私有的,类的内部才可以访

  • 主要内容:Python 类如何进行封装?不光是 Python,大多数面向对象编程语言(诸如 C++、 Java 等)都具备 3 个典型特征,即封装、继承和多态。其中,本节重点讲解 Python 类的封装特性,继承和多态会在后续章节给大家做详细讲解。 简单的理解封装(Encapsulation),即在设计类时,刻意地将一些属性和方法隐藏在类的内部,这样在使用此类时,将无法直接以“类对象.属性名”(或者“类对象.方法名(参数)”)的形式调用

  • 我实现了一个名为mobile eCall的类。我从这个类中创建了几个对象,并用来自XML的值填充该对象的String变量,该XML具有针对特定人员的多个mobile eCall。我需要对这个人发出的所有呼叫进行分组和计数(例如,国内呼叫:11分钟;国际呼叫:15分钟;数据:20 MB) 因此,我在类中实现了几个公共方法来检查调用的类型,以返回true或false。在主类中,我调用了这些方法来检查它