使用-Lombok(小辣椒)插件简化javabean开发(mac环境STS=eclipse)

本文主要是介绍使用-Lombok(小辣椒)插件简化javabean开发(mac环境STS=eclipse),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Lombok简介和理解

Lombok是个什么插件:

  • 简单来说使用Lombok能大大的简化冗余的JavaBean代码,不仅能大大提高开发效率,还能大大提高Java中方法的执行速度
  • 进入官网
  • 在这里插入图片描述
  • Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
    Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.

使用Lombok 是通过它所提供的注解来实现对代码冗余的简化

使用步骤
  • 首先在IDE安装插件和在maven中引入其依赖lombok的版本可以不用指定,springbook内部依赖管理中就已经指定了版本,我们只用将其引用依赖就好
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<!-- <version>1.18.6</version>--> 
<scope>provided</scope>
</dependency>
  • 然后可以在maven中找到它的插件
  • 在这里插入图片描述
  • 复制这个jar,然后安装它,我的环境是使用STS(eclipse)
  • 先用Finder打开应用程序文件夹,进入STS的包内容
  • 在这里插入图片描述
  • 然后把文件复制进Eclipse文件夹中,改名为lombok.jar;
  • 在这里插入图片描述
  • 同时在后缀名为.ini文件中的末尾添加这两行代码
-javaagent:../Eclipse/lombok.jar
-vmargs -javaagent:lombok.jar
  • 重启STS(Eclipse);就ok
插件安装完们接下来就看如何使用
  • 首先为我们提供了这些注解
  • @NoArgsConstructor, 无参构造器
  • @RequiredArgsConstructor
  • @AllArgsConstructor 全参数构造器
  • @EqualsAndHashCode:提供equals和hashCode方法
  • @Log:快速的使用slf4j日志
  • @Log4j:快速使用log4j日志
  • @Log4j2:快速使用log4j2
  • @Getter/@Setter
  • @Slf4j 内置log对象,直接调用日志方法输出日志
  • @ToString
  • @Data:等价于上面的@Setter、@Getter、@RequiredArgsConstructor、@ToString、@EqualsAndHashCode

注解的解释清楚,添加注解,会在编译是为你这个Bean添加相应的方法

  • 比如一个javabean(user)通过这个插件后的样子
  • 在这里插入图片描述
  • 可以直接看出代码确实变得简洁

网上对lombok的评价褒贬不一,具体利弊百度一下都有总结很清楚;这博主写的一篇博文《Lombok的利弊》很详细大家可以参考参考;同时我也觉得传染性是它最大的缺点:作为IDE插件+jar包,需要对IDE进行一系列的配置,一旦在resource包里用了lombok,别人想看源码也不得不装插件。

总结:虽然lombok为我们带来便利,很大消除了bean的冗余,在个人项目中我是回去使用,工作项目中还是不推荐哈;主要是装插件麻烦,而且带传染性,别人如果要看的话也得装插件,而我们现在的IDE几乎都是自带这些Getter/Setter/Equals…代码自动生成的功能;

这篇关于使用-Lombok(小辣椒)插件简化javabean开发(mac环境STS=eclipse)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/458834

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

Spring Security--Architecture Overview

1 核心组件 这一节主要介绍一些在Spring Security中常见且核心的Java类,它们之间的依赖,构建起了整个框架。想要理解整个架构,最起码得对这些类眼熟。 1.1 SecurityContextHolder SecurityContextHolder用于存储安全上下文(security context)的信息。当前操作的用户是谁,该用户是否已经被认证,他拥有哪些角色权限…这些都被保

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD