# JavaBean模板

导入依赖:

       <dependency>
            <groupId>freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.8</version>
        </dependency>

bean模板 demo.ftl

package ${packageName};

/**
 *  @author alfred
 *  time : 2018-05-28
 */
public class ${className} {

<#list attrs as a>

    private ${a.type} ${a.field};
</#list>

<#list attrs as a>
    public void set${a.field?cap_first}(${a.type} ${a.field}){
        this.${a.field} = ${a.field};
    }
    
    public ${a.type} get${a.field?cap_first}(){
        return this.${a.field};
    }
</#list>
}

新建Attr.java


public class Attr{
    public String field;
    public String type;

    public Attr(String field,  String type){
        this.field = field;
        this.type = type;
    }

    public String getField(){
        return this.field;
    }

    public String getType(){
        return this.type;
    }

    public void setField(String field){
        this.field = field;
    }

    public void setType(String type){
        this.type = type;
    }
}

image

测试


    public static void main(String[] args){

        String path_Dir = "/Users/alfred/Desktop/Tutorial/myfile/";

        List<Object> list = new ArrayList<Object>();
        list.add(new Attr("username", "String"));
        list.add(new Attr("password", "String"));
        list.add(new Attr("age", "int"));
        list.add(new Attr("hobby", "String"));

        Map<String,Object> root = new HashMap<String, Object>();
        root.put("packageName", "com.my.learn.freemarker");
        root.put("className", "User");
        root.put("attrs", list);
        root.put("author", "adams");

        Configuration cfg = new Configuration();
        String path = ToBean.class.getResource("/").getPath();
        try {
            cfg.setDirectoryForTemplateLoading(new File(path));
            Template template = cfg.getTemplate("/demo.ftl");
            StringWriter out = new StringWriter();
            template.process(root, out);
            System.out.println(out.toString());
            File file = new File(path_Dir + "User" + ".java");
            if (!file.exists()) {
                file.createNewFile();
            }
            FileWriter fw = new FileWriter(file);
            PrintWriter pw = new PrintWriter(fw);
            pw.write(out.toString());
            pw.flush();
            pw.close();

        } catch (IOException e) {
            System.out.println("Cause==>" + e.getCause());
        } catch (TemplateException e) {
            System.out.println("Cause==>" + e.getCause());
        }
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong阅读 22,743评论 1 92
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,118评论 6 342
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,432评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,828评论 19 139
  • 结合where语句一起使用 where a and b----a、b同时成立 where a or b----a、...
    皮修猪阅读 2,967评论 0 0

友情链接更多精彩内容