Lombok

减少代码量工具-lombok

假如想象 提交于 2020-03-01 04:56:06
减少代码量工具-lombok lombok的作用:消除模版代码 getter、setter、构造器、toString()、equals() 便捷的生成比较复杂的代码,例如一个POJO要转化成构建器模式的形式,只需要一个注解 案例使用介绍: 1.添加pom.xml依赖: <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.8</version> <scope>provided</scope> </dependency> 2. 写一个基础类: @Data @Builder public class Address { private int id; private String province; private String city; private String country; } 这里需要说明一下,在传统的Java开发中我们需要重写getter(),setter(),equals(),toString()等方法在这里只需要定义注解即可: @Data (toString() equals() hashcode() and getter(),settter()) @Builder 定义构造函数

Lombok在Eclipse/MyEclipse/STS中的安装及使用

≯℡__Kan透↙ 提交于 2020-03-01 04:51:09
一、安装lombok: 下载地址: https://pan.baidu.com/s/1jHV8YzW (我的百度网盘分享),下载下来后双击它执行后,安装步骤如下所示, 第一步打开如下界面后,一般如果已经有IDE了,这里面就会已经有IDE的安装路径了,下面是我们手动指定它的IDE路径 第二步,点击指定路径后就需要选择我们IDE的主程序路径,我这里是以STS为例说明的,其他的Java IDE是一样的,点击 选择好的IDE安装路径 第三步,经过上面第二步后,我们选择好的路径就会出现上上面了,这样我们点击安装,如下图所示 第四步,点击安装按钮后就会出现如下图提示安装成功,点击OK,至此我们的lombok已经安装完毕了 所有上面步骤均未出错,成功安装后,点击退出即可,如果安装的时候已经打开了IDE,那么安装完毕后需要重启IDE之后才能够生效使用哦。 二、如何使用lombok 我们安装好lombok后,下来我们就可以直接在我们的类文件中直接用注解的方式来使用它的特性了,如下图所示 如上所示我们在class关键字之前加上@Data注解,当然@Data这个注解也可以放到注解类上面,就跟@Entity一样,如此那么它就会自动帮我们在编译好的class里面自动加上getter和setter方法了,而不再需要我们在代码里面添加,就能直接使用他们的getter和setter方法了

Lombok 注解说明

倖福魔咒の 提交于 2020-02-29 09:23:31
val 自动识别参数类型,会定义一个局部final的变量 例如 val a = new ArrayList<String>(); 相当于 final ArrayList<String> a = new ArrayList<String>(); @NonNull 非空约束, 可以注解在方法的参数上,类的属性上 public void hello( @NonNull String hello){ System.out.println(hello); } 如果hello为空的话,不会执行System.out.println(hello):方法,会抛出一个空指针异常 ----- 注解在方法的属性名上,如果有, @RequiredArgsConstructor注解 构造该对象时,必须传入参数 public class App { @NonNull private String hello; } @Cleanup 对象引用结束前调用某个方法,默认是close()方法,也可以自己制定一个无参的方法,多用于关闭流等操作,避免繁琐的try{}catch{}操作 @Getter/Setter 可以注解在类上或者字段上。 注解在类上为所有的字段自动生成过 Getter/Setter 方法 可设置参数value=AccessLevel.xxxx 生成方法的访问权限 @ToString

SpringBoot整合Mybatis

心已入冬 提交于 2020-02-28 09:37:56
SpringBoot整合Mybatis 1、添加依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency> 2、创建实体类 //使用了lombok,依赖自己添加 @Data @AllArgsConstructor @NoArgsConstructor public class User { private Integer id; private String name; private String passwd; } 3、创建mapper @Mapper //在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类 @Repository public interface UserMapper { //查询所有的用户信息 List<User> queryUserList(); //根据用户id查询用户 User queryUserById(int id); } 4、MyBatis相关配置 mybatis: type-aliases-package: com.comple.mybatis.bean # 注意:对应实体类的路径

Java 代码简洁之道之Lombok

末鹿安然 提交于 2020-02-28 00:48:48
Maven依赖: <dependency>   <groupId>org.projectlombok</groupId>   <artifactId>lombok</artifactId>   <version>1.16.6</version> </dependency> lombok常用注解: @Getter 和 @Setter: 为你的字段创建getter和setter @EqualsAndHashCode: 实现equals()和hashCode() @ToString : 实现toString() @Data : 使用上面四个注解的特征 @Cleanup: 关闭流 @Synchronized: 对象上同步 @SneakyThrows: 抛出异常 @NoArgsConstructor:注解在类上;为类提供一个无参的构造方法 @AllArgsConstructor:注解在类上;为类提供一个全参的构造方法 @Data :注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法 @Setter:可用在类或属性上;为属性提供 setting 方法 @Getter:可用在类或属性上;为属性提供 getting 方法 lombok标签使用方法如下: Idea直接使用settings

Java无可匹敌的变身装备,钢铁侠客的绝密味道

耗尽温柔 提交于 2020-02-27 13:59:23
以上几个工具包,有些是比较偏门的,但它们完成的功能却非常酷炫。不仅酷炫,而且非常有用。在领导们频繁开会,使用各种方法论探讨怎么管理文档,怎么自动化,怎么代码审查的时候,你就已经把功能完成了。 我讨厌写一些业务代码,不仅仅因为它们的原始意图不是我设计的,成功了是产品的功劳,失败了代码要背锅。一个重要的原因,就是重复的代码太多,一个复杂的业务逻辑要找到它的Bug,也要下一番“苦力”。这里说的真的是苦力,而不是脑力,说明了大部分是低劣的重复劳动。 所以随着在项目中有了话语权,我会特别善待这些可怜的同学们。一个问题,直到发现的时候,才发现它的低级,但中间的曲折,很少有人能看到,一个非技术出身的管理者对此就很难理解。职位越是高,就越关注整体的目标达成,对个体的感受却关注的很少,这不是一个好的现象。千里之堤,溃于蚁穴。普通研发的整体水平代表了公司的竞争力。哦哦哦,我竟然违背了精英主义论调。 扯远了。下面介绍几个开发中常用的工具包,可以在Java源文件、语法树、字节码之间进行转换。用好了它们,不仅仅能实现一些黑科技,还能大大提高我们的生产力。 1、JavaPoet 有时候,我们要做一些代码生成工具,需要生成一些Java类源文件。如果使用字符串去拼接的话,很容易拼的乱七八糟。为了解放双手,就可以使用工具JavaPoet进行方法或者代码块的构建。它还提供了占位符等一系列方便的操作

可视化开发表单的java快速开发平台

杀马特。学长 韩版系。学妹 提交于 2020-02-27 11:38:11
有时候我们会遇到这样的需求,公司不大,但是信息化程度也蛮高,公司的员工素质也很高,管理也很规范,甚至还有外地分公司,直接上一个OA系统吧,往往也无法符合公司的灵活管理需求,往往受制于商品化OA的功能限制,商业限制。直接定制一个OA系统也不大愿意承受几十万的开发费用,同时也不知道都提什么需求比较好,也不想去惹麻烦, 也没精力去整理需求。 这里不得不提到现在流行的java快速开发平台,价格不高,可扩展强。平台可以搭建OA、ERP、CRM多种企业系统。 快速开发平台,简单的理解就是:开发人员以某种编程语言或者某几种编程语言(比如:目前流行的多种web技术,包括springboot, JPA,Druid, Activiti,Lombok,swagger,poi,WebSocket,Jquery,BootStrap, maven,Jenkins 等等 )为基础,将各种需要的功能封装在不同的层中,具大家调用而开发出来的一个软件。 这个java快速开发平台其实不是一个最终的软件产品,它是一个二次开发软件框架,用户可以在这个产品上进行各种各样的软件产品的开发,并且在这个产品上进行开发的时候,不需要像以往的编程方式那样编写大量的代码,而是只需要进行一些简单的配置,或者是写极少量的代码便可以完成一个业务系统的开发工作——XJR快速开发平台。 这款 XJR快速开发平台

Spring Boot 2.x基础教程:使用JdbcTemplate访问MySQL数据库

瘦欲@ 提交于 2020-02-27 07:28:45
在第2章节中,我们介绍了如何通过Spring Boot来实现HTTP接口,以及围绕HTTP接口相关的单元测试、文档生成等实用技能。但是,这些内容还不足以帮助我们构建一个动态应用的服务端程序。不论我们是要做App、小程序、还是传统的Web站点,对于用户的信息、相关业务的内容,通常都需要对其进行存储,而不是像第2章节中那样,把用户信息存储在内存中(重启就丢了!)。 对于信息的存储,现在已经有非常非常多的产品可以选择,其中不乏许多非常优秀的开源免费产品,比如:MySQL,Redis等。接下来,在第3章节,我们将继续学习在使用Spring Boot开发服务端程序的时候,如何实现对各流行数据存储产品的增删改查操作。 作为数据访问章节的第一篇,我们将从最为常用的关系型数据库开始。通过一个简单例子,学习在Spring Boot中最基本的数据访问工具:JdbcTemplate。 数据源配置 在我们访问数据库的时候,需要先配置一个数据源,下面分别介绍一下几种不同的数据库配置方式。 首先,为了连接数据库需要引入jdbc支持,在 pom.xml 中引入如下配置: <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-jdbc</artifactid> </dependency>

Snails 框架

為{幸葍}努か 提交于 2020-02-27 01:48:37
基于 SpringBoot + Ng-Alain 前后端分离的实现,可以作为新手入门项目,也可以作为小项目的基础框架去扩展。目前 Snails 系统框架已支持基本的后台功能,基于简单、实用设计,并且已支持 Docker 进行项目部署。 Snails 框架 :编程入门,新手礼赞 snails-web 前端 : Angular + Ng-Zorro + Ng-Alain snails-api 后台 : SpringBoot + JPA + lombok + Java8 + Mysql 源码 前端 snails-web Gitee: https://gitee.com/kuzank/snails-web GitHub: https://github.com/kuzank/snails-web 后台 snails-api Gitee: https://gitee.com/kuzank/snails-api github: https://github.com/kuzank/snails-api 1、系统功能 登陆、登出 用户管理 组织管理 菜单管理,支持菜单动态配置 在线用户 登陆日志,记录系统用户的登陆登出行为 http请求,将系统的所有请求进行拦截,并记录到数据库中 系统异常,全局拦截系统的异常,并记录到数据库中 支持系统数据初始化 snails-api 后台 支持 Docker 部署

总结:lombok

丶灬走出姿态 提交于 2020-02-27 01:08:52
lombok的使用,需要相关的IDE工具安装lombok插件(eclipse neon 3安装lombok有问题,亲测需要在eclipse.ini中额外再加上-Xbootclasspath/a:lombok.jar),安装过程忽略。 另外,需要引入lombok的包,maven引入方式: <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.20</version> <scope>provided</scope> </dependency> 一、第一次实践:@Slf4j注解 此注解属于lombok中的注解,使用此注解后,则不用每次都去引入private static final Logger LOGGER = LoggerFactory.getLogger(TestController.class); 同时,打印的时候,使用log变量即可。参考: 注解@Slf4j的使用 其它还有: @Log、CommonsLog、Slf4j、XSlf4j、Log4j、Log4j2等日志注解 这个注解用在类上,可以省去从日志工厂生成日志对象这一步,直接进行日志记录,具体注解根据日志工具的不同而不同,同时,可以在注解中使用topic来指定生成log对象时的类名