从clojure映射创建Javabean
从clojure映射创建Javabean,java,clojure,javabeans,Java,Clojure,Javabeans,clojure.core提供了从java对象创建clojure映射的bean,但是否存在从映射创建bean(java对象)的反向函数?具体取决于您需要什么 Java中存在Bean类型 换句话说,您的java项目中有一个Customer.class,您希望根据映射中的数据通过Clojure进行实例化和填充。这可以通过简单的方式完成 在Clojure中创建的Bean类型 您可以使用创建Javabean类型,该类型将在磁盘上生成一个.class文件,并可在Java项目中使用(与任何没有相应Java源代
clojure.core
提供了从java对象创建clojure映射的bean
,但是否存在从映射创建bean(java对象)的反向函数?具体取决于您需要什么
Java中存在Bean类型
换句话说,您的java项目中有一个Customer.class,您希望根据映射中的数据通过Clojure进行实例化和填充。这可以通过简单的方式完成
在Clojure中创建的Bean类型
您可以使用创建Javabean类型,该类型将在磁盘上生成一个.class文件,并可在Java项目中使用(与任何没有相应Java源代码的Java类相同)。您可以使用库来避免手动使用
在Clojure中创建的Bean类型-动态创建,不带.class文件
在本例中,您可以使用通过动态字节码创建来创建bean(只需为getter和setter创建方法并将数据从映射中移动)
您可以找到上述所有方法的示例,具体取决于您需要什么 Java中存在Bean类型 换句话说,您的java项目中有一个Customer.class,您希望根据映射中的数据通过Clojure进行实例化和填充。这可以通过简单的方式完成 在Clojure中创建的Bean类型 您可以使用创建Javabean类型,该类型将在磁盘上生成一个.class文件,并可在Java项目中使用(与任何没有相应Java源代码的Java类相同)。您可以使用库来避免手动使用 在Clojure中创建的Bean类型-动态创建,不带.class文件 在本例中,您可以使用通过动态字节码创建来创建bean(只需为getter和setter创建方法并将数据从映射中移动)
您可以找到上述所有方法的示例有各种库执行Clojure map Java Bean翻译,包括我编写的一个名为。以下是自述文件中关于其他考虑的选项的细目以及区别: 现有的翻译解决方案存在一些功能缺陷,导致我们创建bean dip:内置的
clojure.core/bean
是单向的,使用未缓存的反射,无法配置。缓存反射可以通过,但它只是单向的。还有一种是双向的、递归的和无反射的,但它不是声明性的,因此很难维护大型翻译层
豆酱是:
- 双向:从bean翻译到映射,然后再翻译回来
- 声明性:只需为相应的映射指定bean类和一组键
- 递归:当嵌套bean也定义了转换时,转换会下降到嵌套bean中
- 无反射:宏生成类型提示代码,可在编译时通过
*反射警告*
- 可扩展:通过多方法实现按键转换值
有多种库可以执行Clojure映射Java Bean翻译,包括我编写的一个名为。以下是自述文件中关于其他考虑的选项的细目以及区别: 现有的翻译解决方案存在一些功能缺陷,导致我们创建bean dip:内置的
clojure.core/bean
是单向的,使用未缓存的反射,无法配置。缓存反射可以通过,但它只是单向的。还有一种是双向的、递归的和无反射的,但它不是声明性的,因此很难维护大型翻译层
豆酱是:
- 双向:从bean翻译到映射,然后再翻译回来
- 声明性:只需为相应的映射指定bean类和一组键
- 递归:当嵌套bean也定义了转换时,转换会下降到嵌套bean中
- 无反射:宏生成类型提示代码,可在编译时通过
*反射警告*
- 可扩展:通过多方法实现按键转换值
您的意思是从映射生成一个新的bean类吗?或者使用映射中的条目来填充现有bean类的bean?我想只返回一个对象。所以
{:foo“bar”}
变成了o.foo==“bar”
这不是对象,因为java.lang.Object
没有字段。你的意思是从映射生成一个新的bean类吗?或者使用映射中的条目来填充现有bean类的bean?我想只返回一个对象。所以{:foo“bar”}
变成o.foo==“bar”
这不是对象,因为java.lang.Object
没有字段。