我喜欢project Lombok,但最近我正在阅读和尝试Java14的一些新特性。
在新功能中,有一个record关键字,它允许创建一个已经内置了以下功能的类:构造函数、私有final字段、访问器、equals/hashcode、getters、toString方法。
现在我的问题是:是依赖Lombok的特性更好,还是我们应该开始使用record功能:
最好用这个:
record Person (String name, String surname) {}
或者说:
@AllArgsConstructor
@ToString
@EqualsAndHashCode
public class GetterSetterExample {
@Getter private int name;
@Getter private int surname;
}
这两种方法的利弊是什么?
Lombok和Java语言的record
特性是用于不同用途的不同工具。有一些表面上的重叠,但不要让它分散你的注意力。
龙目语在很大程度上是关于句法的方便性;它是一个预加载了一些已知的有用代码模式的宏处理器。它没有赋予任何语义;它只是自动模式,根据您在代码中设置的一些带有注释的旋钮。Lombok纯粹是关于实现数据承载类的便利性。
记录是一种语义特征;它们是标称元组。通过语义声明point
是(int x,int y)
的元组,编译器可以从该状态描述导出其表示以及构造、声明、相等、散列和字符串表示协议。因为它们携带语义,所以读者和框架也可以对记录的API有更高的信心推理。(这可能在语法上也很方便;如果是这样,那就太好了。)
记录 限制记录 条记录 (每页) 如果你想全局地限制在网格或外键数据选择时每页显示的记录数,可勾选这个选项。否则,所有记录将会显示在一页里。 【注意】若要为特定的表或集合调整设置,请参阅数据查看器。 自动开始事务 如果你需要在更改表或集合中的记录时,自动开始一个新事务,可勾选这个选项。否则,自动提交会自动启用,你需要在数据查看器中点击 “开始事务”按钮来手动开始事务。 在数据查看器中打开事务时,可
记录 限制记录 条记录 (每页) 如果你想全局地限制在网格每页显示的记录数,可勾选这个选项。否则,所有记录将会显示在一页里。 【注意】若要为特定的表或集合调整设置,请参阅数据查看器。 自动开始事务 如果你需要在更改表或集合中的记录时,自动开始一个新事务,可勾选这个选项。否则,自动提交会自动启用,你需要在数据查看器中点击 按钮来手动开始事务。 在数据查看器中打开事务时,可以使用 或 按钮来提交或回滚
记录 限制记录 条记录 (每页) 如果你想全局地限制在网格或外键数据选择时每页显示的记录数,可勾选这个选项。否则,所有记录将会显示在一页里。 【注意】若要为特定的表或集合调整设置,请参阅数据查看器。 自动开始事务 如果你需要在更改表或集合中的记录时,自动开始一个新事务,可勾选这个选项。否则,自动提交会自动启用,你需要在数据查看器中点击 “开始事务”按钮来手动开始事务。 在数据查看器中打开事务时,可
问题内容: 我想在我的应用程序中将slf4j + logback用于两个目的-日志和审计。 对于日志记录,我以常规方式记录日志: 对于审计,我创建一个特殊的命名记录器并登录到它: 登录配置: 问题:通过审核记录器记录的消息出现两次-一次在AUDIT_LOGGER下,一次在根记录器下。 14:41:57.975 [main]调试com.gammay.example.Main–> main() 14:
本文向大家介绍详解.net core日记记录,包括了详解.net core日记记录的使用技巧和注意事项,需要的朋友参考一下 ASP.NET Core 有内置的log组件,遗憾的是看了微软官方文档,貌似无法直接将日志存于文件或数据库,只能由自己实现或引用第三方日志组件。 以下为Nlog和log4net的使用记录 Nlog使用 搜索添加Nuget包 Nlog Nlog.Web.AspNetCore 新
在创建Web应用程序时,日志记录非常有用,因为它们会告诉我们哪些地方出了问题。 我们还得到了出错的背景,并为此提出了可能的解决方案。 要在Koa中启用日志记录,我们需要中间件koa-logger 。 使用以下命令安装它。 $ npm install --save-dev koa-logger 现在,在您的应用程序中,添加以下代码以启用日志记录。 var logger = require('koa
Pascal数组允许您定义可以包含多个相同类型数据项的变量类型,但是记录是Pascal中可用的另一个用户定义数据类型,它允许您组合不同类型的数据项。 记录包含不同的字段。 假设您想要在库中跟踪您的书籍,您可能希望跟踪每本书的以下属性 - Title Author Subject 书名 定义记录 要定义记录类型,可以使用类型声明语句。 记录类型定义为 - type record-name = rec
登录CakePHP是一项非常简单的任务。 你只需要使用一个功能。 您可以记录任何后台进程(如cronjob errors, exceptions, user activities, action taken by users 。 在CakePHP中记录数据很简单 - LogTrait提供了log()函数, LogTrait是几乎所有CakePHP类的共同祖先。 记录配置 我们可以配置登录文件con