Jboot v3.9.4 发布,可能是最完美的、针对数据字典、枚举解决方案

栏目: 软件资讯 · 发布时间: 4年前

内容简介:Jboot 一个更简单的分布式、微服务框架。 Jboot是一个基于 JFinal、JFinal-Undertow、Dubbo、Seata、Sentinel、ShardingSphere、Nacos 等开发的微服务框架,帮助开发者降低微服务、分布式开发门槛。爽爽开发,快乐...

Jboot 一个更简单的分布式、微服务框架。

Jboot是一个基于 JFinal、JFinal-Undertow、Dubbo、Seata、Sentinel、ShardingSphere、Nacos 等开发的微服务框架,帮助开发者降低微服务、分布式开发门槛。爽爽开发,快乐生活。

到目前为止,Jboot 已经开源超过了 5 年的时间,迭代了 190+ 个版本,已经被超过 1000+ 公司在使用,其中包含了多个知名的上市公司。

Jboot v3.9.4 最大的功能,是正对 JFinal Enjoy 模板引擎的增强,完美的支持了 ”枚举“ 在模板引擎中的使用。这样带来的好处是在 html 模板引擎里,可以和 Java 毫无差别的使用枚举。

而枚举,在系统开发里,更多的是用来做 ”数据字典“,很多系统(比如 JbootAdmin)的数据字典是可以直接生成 ”枚举“ 代码的。

比如:”支付类型“ 的枚举如下:

public enum PayType {
   
    ALIPAY(1, "支付宝"),
    WECHAT(10, "微信支付"),

    public int value;
    public String text;

    PayType(int value, String text) {
        this.value = value;
        this.text = text;
    }

   
    public static String text(Integer value) {
        if (value != null) {
            for (AccountType type : values()) {
                if (type.value == value) {
                    return type.text;
                }
            }
        }
        return null;
    }


    public static boolean isAlipay(Integer value) {
        return value != null && ALIPAY.value == value;
    }

}

我们只需要给该枚举添加注解 @JFinalSharedEnum , 就可以在在 html 通过如下的方式使用该枚举了。

比如:

<html>
<body>
   #(PayType.ALIPAY.text)   <br/>
   #(PayType.text(1))   <br/>
   #(PayType.isAlipay(1))   <br/>
</body>
</html>

为什么说是对 JFinal 模板引擎的增强呢,因为 JFinal 模板引擎默认情况下可以添加枚举,但是并不支持使用枚举里的静态方法。当添加枚举的静态方法后,最直接的好处是:我们可以把保存在数据库的 int 类型的枚举数据,在模板引擎里通过 #(PayType.text(1)) 这样显示出其 text 内容。

虽然一个很小的功能,却非常实用。虽然在 JFinal 社区也给出了不同的解决方法,但是没有一个解决方案与之媲美 。

在这个版本中,Jboot 还新增了对注解 @PostConstruct 注解的支持,优化了门户官网代码,详情请查看 changelist。

 

Jboot 开发文档:

https://jbootprojects.gitee.io/docs/

同时,Jboot 官方也推出了收费的企业级开发框架 JbootAdmin ,关于 JbootAdmin 详情咨询海哥。

 

maven 依赖:

<dependency>
    <groupId>io.jboot</groupId>
    <artifactId>jboot</artifactId>
    <version>3.9.4</version>
</dependency>

Hello World:

@RequestMapping("/")
public class HelloworldController extends JbootController {

    public void index(){
        renderText("hello world");
    }

    public static void main(String[] args){
        JbootApplication.run(args);
    }
}

 


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Persuasive Technology

Persuasive Technology

B.J. Fogg / Morgan Kaufmann / 2002-12 / USD 39.95

Can computers change what you think and do? Can they motivate you to stop smoking, persuade you to buy insurance, or convince you to join the Army? "Yes, they can," says Dr. B.J. Fogg, directo......一起来看看 《Persuasive Technology》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具