AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
# 设计一个通用的代码生成方案 代码生成模块 len-generator 采用如下思路: ![](https://img.kancloud.cn/c7/aa/c7aa76a2d0bb7e6e6aa13a0fb6bfc193_999x390.png) 使用者可通过json配置、数据库表字段结合模板快速生成 快速体验 ``` package com.len; import com.len.generator.metadata.source.JsonSource; import com.len.generator.metadata.source.MetaDataSource; import com.len.generator.template.FreemarkerStrTemplateStrategy; import com.len.generator.template.TemplateRenderer; import junit.framework.TestCase; public class QuickTest extends TestCase { //json配置 final String jsonDataStr="{\n" + " \"strVar\": {\n" + " \"name\": \"张三\"\n" + " },\n" + " \"objVar\": {\n" + " },\n" + " \"arrVar\": {\n" + " \"items\": [\n" + " {\n" + " \"name\": \"张三\",\n" + " \"age\": 15\n" + " },\n" + " {\n" + " \"name\": \"李四\",\n" + " \"age\": 18\n" + " }\n" + " ]\n" + " }\n" + "}"; //模板内容 final String templateString = "Hello, ${name}! <#list items as item>${item.name} is ${item.age} years old. </#list>"; public void testQuick(){ TemplateRenderer renderer = new TemplateRenderer.Builder() //引擎 .withTemplateStrategy(new FreemarkerStrTemplateStrategy(templateString)) .build(); String[] render = renderer.render( new MetaDataSource.Builder<String>() .source(new JsonSource<>(jsonDataStr)) .build() ); for (String out : render) { System.out.println(out); } } } ``` 打印如下: ![](https://img.kancloud.cn/c6/69/c669d906b562237dc49855347b8d9fb7_596x101.png)