java lombok.getter_Java如何使用Lombok生成getter和setter?

下面的代码片段向您展示了项目如何使用Lombok的@Getter和@Setter注解在POJO(纯旧java对象)类中生成Getter和Setter方法。使用这些注解就不需要手动实现mutator和accessor方法。尽管大多数IDE允许您生成这些方法,但使用Lombok会使类看起来更干净,尤其是在字段列表很长的情况下。

下面是一个简单的 User 类和一些字段。我们将在类级别上使用@getter 和@setter 注解。这将为类中的任何非静态字段生成 getter 和 setter 方法。package org.nhooo.example.lombok.domain;

import lombok.Getter;

import lombok.Setter;

import java.time.LocalDate;

@Getter

@Setter

public class User {

private Long id;

private String username;

private String password;

private LocalDate lastLogin;

private boolean active;

}

类中的每个字段都有相应的getter和setter。例如,username字段将具有getUsername()和setUsername()方法。如果字段类型是boolean,比如active,它将生成setActive()和isActive()方法。

因为Lombok已经处理了accessor和mutator,所以我们可以像手动实现getters和setters方法一样使用User类。package org.nhooo.example.lombok;

import org.nhooo.example.lombok.domain.User;

import java.time.LocalDate;

public class UserDemo {

public static void main(String[] args) {

User user = new User();

user.setId(1L);

user.setUsername("foo");

user.setPassword("secret");

user.setLastLogin(LocalDate.now());

user.setActive(true);

System.out.println(user.getId());

System.out.println(user.getUsername());

System.out.println(user.getPassword());

System.out.println(user.getLastLogin());

System.out.println(user.isActive());

}

}

如果出于某些原因,您希望禁用特定字段上的 getter 和

setter,或者希望更改访问级别,则可以为@getter 和@setter 注使用 AccessLevel

枚举值。例如,在下面的代码片段中,用户名将没有 getter 和 setter,而 lastLogin getter 和 setter

将具有受保护的访问修饰符。访问级别包括 PUBLIC、 MODULE、 PROTECTED、 PACKAGE、 PRIVATE 和 NONE。package org.nhooo.example.lombok.domain;

import lombok.AccessLevel;

import lombok.Getter;

import lombok.Setter;

import java.time.LocalDate;

@Getter

@Setter

public class User {

private Long id;

@Getter(AccessLevel.NONE)

@Setter(AccessLevel.NONE)

private String username;

private String password;

@Getter(AccessLevel.PROTECTED)

@Setter(AccessLevel.PROTECTED)

private LocalDate lastLogin;

private boolean active;

}

Maven依赖

org.projectlombok

lombok

1.18.4

lombok.svg?label=Maven%20Central

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值