springboot入门到精通(六)springboot集成lombok代码简化

springboot集成lombok代码简化

目录

1介绍
2springboot初体验
3springboot集成jsp
4springboot属性注入
5springboot集成mybatis
6springboot集成lombok
7springboot集成logback日志
8springboot开启全局热部署
9springboot面向切面编程
10springboot文件上传
11springboot文件下载
12springboot自定义拦截器
13springboot打成war包发布
14springboot打成jar包发布
15springboot自定义banner
16springboot配置文件拆分

lombok能做什么

  • 自动生成实体Bean中大量的Getter/Setter方法
  • 自动生成构造器、toString、hashCode等可能不会用到,但是某些时候仍然需要复写,以期方便使用的方法
  • 在运行过程中自动生成的,代码里面就不包含get、set等方法,将极大减少代码总量
    ::: warning 注意
    注意,其是在运行过程中,帮你自动生成的。就是说,将极大减少你的代码总量。
    :::

idea安装lombok插件

在idea的settings下找到plugins菜单,点击Browse repositories

然后搜索lombok,点击右侧下载,下载完成重启即可(我的idea已经安装过了,所以显示的是update)

添加lombok依赖

在pom里面添加lombok依赖

    <!--代码简化工具-->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
    </dependency>

::: tip 注意
这里无需指定版本,因为Spring Boot中已经默认引入了这个类库,且指定了其scope,当然,你手动指定版本也是没问题的。
:::

lombok常用注解及原理

  • @Data:注解在类上,包含了@ToString,@EqualsAndHashCode,@Getter / @Setter和@RequiredArgsConstructor的功能,提供类所有属性的 getter 和 setter 方法,
    此外还提供了equals、canEqual、hashCode、toString 方法。这个是最常用的注解,与dao对应的实体类上加这个很方便,代码也很简洁。
  • @Slf4j :注解在类上,根据用户实际使用的日志框架生成log日志对象。springboot默认集成了logback日志,加上这个注解就可以在类里面使用log对象打印日志了。
  • @Setter:注解在属性上,为一个属性提供 setter 方法
  • @Getter:注解在属性上,为一个属性提供 getter 方法
  • @ToString:注解在类上,生成toString()方法,默认情况下,它会按顺序(以逗号分隔)打印你的类名称以及每个字段。可以这样设置不包含哪些
    字段@ToString(exclude = “id”) / @ToString(exclude = {“id”,“name”})如果继承的有父类的话,可以设置callSuper 让其调用父类的toString()方法,例如:@ToString(callSuper = true)
  • @EqualsAndHashCode:注解在类上,生成hashCode()和equals()方法,默认情况下,它将使用所有非静态,非transient字段。但可以通过在可选的exclude参数中来排除更多字段。或者,通过在parameter参数中命名它们来准确指定希望使用哪些字段。
  • @NonNull: 注解在属性上,标识属性是不能为空,为空则抛出异常(NullPointerException)。
  • @CleanUp : 自动资源管理,不用再在finally中添加资源的close方法 ,用在局部变量之前,在当前变量范围内即将执行完毕退出之前会自动清理资源,自动生成try-finally这样的代码来关闭流。
  • @NoArgsConstructor : 用在类上,自动生成无参构造函数。
  • @RequiredArgsConstructor : 用在类上,自动生成所有参构造函数。
  • @AllArgsConstructor : 用在类上,自动生成把所有@NonNull属性作为参数的构造函数。
  • @Value:用在类上,相当于为属性添加final声明,只提供getter方法,而不提供setter方法。

lombok示例:

示例列举了最常使用的@Data@Slf4j注解,首先创建实体类SysUser并且加上@Data注解

@Data
public class SysUser {
    private String id;
    private String username;
    private String password;
    private Date birthday;
    private String email;
}

然后创建TestController类,在类里面加上@Slf4j注解,并且在类里面创建了SysUser对象,虽然我们没有显示的
写SysUser的get、set、toString等方法,但是因为加了@Data注解就可以直接使用了

@RestController
@RequestMapping("Test")
@Slf4j
public class TestController {
    @RequestMapping("lombok")
    public Object hello(){
        log.info("这个log对象是由@Slf4j自动生成的。");
        // 创建一个SysUser对象
        SysUser sysUser = new SysUser();
        // 使用set方法设置属性:虽然类里面没有明确写set方法,但是我们可以调用
        sysUser.setId("id10001");
        sysUser.setBirthday(new Date());
        sysUser.setEmail("aa@aa.com");
        sysUser.setPassword("111");
        sysUser.setUsername("lombok");
        // 使用get方法获取属性
        log.info(sysUser.getUsername());
        // 使用toString方法
        log.info(sysUser.toString());
        return sysUser;
    }
}

::: tip 推荐使用技巧

  • 在 Bean 或者 Entity 类上使用@Data注解
  • 需要打印日志的类使用@Slf4j注解
  • lombok还有很多其它用法,大家可以看注解的解释自行练习,有需要了再用。
    :::

测试

启动服务,在浏览器输入http://localhost:8088/moyundong/Test/lombok来看看效果。

本节示例下载地址:java相关demo下载列表

::: warning 注意
在不同的平台,文档显示的效果是不一样的,最佳最全观看地址:springboot集成lombok
欢迎大家来博客了解更多内容:java乐园
:::

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值