@Getter和@Setter 出现的目的是
public int getFoo() {return foo;} 不需要在写get 和 set 方法。

您可以使用@Getter或@Setter来注释任何字段,以使lombok自动生成默认的getter / setter。

lombok生成的getter / setter方法默认作用域将是public
除非你明确指定一个AccessLevel

如下面的例子所示。作用域级别PUBLIC,PROTECTED,PACKAGE,和PRIVATE。

你也可以在class 上面放置@Getter和/或@Setter注释。在这种情况下,就好像您使用注释注释该类中的所有非静态字段。

使用了Lombok 代码

import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;public class GetterSetterExample {/*** Age of the person. Water is wet.* * @param age New value for this person's age. Sky is blue.* @return The current value of this person's age. Circles are round.*/@Getter @Setter private int age = 10;/*** Name of the person.* -- SETTER --* Changes the name of this person.* * @param name The new value.*/@Setter(AccessLevel.PROTECTED) private String name;@Override public String toString() {return String.format("%s (age: %d)", name, age);}
}

默认的代码是(未使用lombok)

public class GetterSetterExample {/*** Age of the person. Water is wet.*/private int age = 10;/*** Name of the person.*/private String name;@Override public String toString() {return String.format("%s (age: %d)", name, age);}/*** Age of the person. Water is wet.** @return The current value of this person's age. Circles are round.*/public int getAge() {return age;}/*** Age of the person. Water is wet.** @param age New value for this person's age. Sky is blue.*/public void setAge(int age) {this.age = age;}/*** Changes the name of this person.** @param name The new value.*/protected void setName(String name) {this.name = name;}
}

要在生成的方法上注释,可以使用onMethod=@({@AnnotationsHere}); 将注释放在生成的setter方法的唯一参数上,可以使用onParam=@({@AnnotationsHere})。小心!这是一个实验功能。

getter / setter参数

lombok.AccessLevel value() default lombok.AccessLevel.PUBLIC;lombok.Getter.AnyAnnotation[] onMethod() default {};boolean lazy() default false;

getter / setter使用方法

package me.wonwoo;import lombok.AccessLevel;
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;import javax.persistence.Column;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;public class GetSetObject {//  @Setter(onParam = @__({@NotNull}), onMethod = @__({@NotNull}))@Setter(onMethod = @__({@NotNull}))
//  @Getter(value = AccessLevel.PUBLIC, onMethod = @__({@NonNull, @Id}))private Long id;
//  @Getter@Getter(value = AccessLevel.PUBLIC, lazy = true)private final String name = expensive();private String expensive() {return "wonwoo";}
}class GetSetObjectOnParam {private Long id;public void setId(@NotNull Long id) {this.id = id;}
}class GetSetObjectOnMethod {private Long id;@Id@Column(name = "seq")Long getId() {return id;}

转自:https://www.jianshu.com/p/93353398e964

@Getter和@Setter相关推荐

  1. Swift快速入门之getter 和 setter

    属性可以用getter和setter方法的形式提供. <code class="hljs lasso has-numbering" style="display: ...

  2. 基于注解处理器开发自动生成getter和setter方法的插件

    昨天无意中,逛到了lombok的网站,并看到了首页的5分钟视频,视频中的作者只是在实体类中写了几个字段,就可以自动编译为含setter.getter.toString()等方法的class文件.看着挺 ...

  3. [译] Lenses:可组合函数式编程的 Getter 和 Setter(第十九部分)

    原文地址:Lenses: Composable Getters and Setters for Functional Programming 原文作者:Eric Elliott 译文出自:掘金翻译计划 ...

  4. 【Groovy】Groovy 方法调用 ( Java 类成员及 setter 和 getter 方法设置 | Groovy 类自动生成成员的 getter 和 setter 方法 )

    文章目录 一.Java 类成员及 setter 和 getter 方法设置 二.Groovy 类自动生成成员的 getter 和 setter 方法 一.Java 类成员及 setter 和 gett ...

  5. 第7.26节 Python中的@property装饰器定义属性访问方法getter、setter、deleter 详解

    第7.26节 Python中的@property装饰器定义属性访问方法getter.setter.deleter 详解 一.    引言 Python中的装饰器在前面接触过,老猿还没有深入展开介绍装饰 ...

  6. idea mybatis generator插件_Mybatis使用自定义插件去掉POJO的Getter和Setter方法

    Mybatis使用自定义插件去掉POJO的Getter和Setter方法

  7. java setter_java – 如何获得@getter和@setter?

    @Getter和@Setter是 Lombook注释. Lombook是一个框架,在注释的类或属性中生成重复代码,如equals,hashCode()或getters和setters,清理代码,使编码 ...

  8. getter和setter

    getter和setter 我们先不管getter和setter是啥. 来看一段代码 package com.lewen.day17; public class Person {String name ...

  9. JavaScript中闭包实现的私有属性的getter()和setter()方法

    注意: 以下的输出都在浏览器的控制台中 <!DOCTYPE html> <html> <head><meta charset="utf-8" ...

  10. Spring的核心机制依赖注入,Junit测试与Java基础Getter和Setter两种方法意义——2017.07.26...

    今天对Spring的基础理解又加深了一丢丢. 1 首先Spring的基础配置文件中,主要由以下几个配置文件, 1 <beans xmlns:xsi="http://w3.org/200 ...

最新文章

  1. Java面向对象:覆写与重载
  2. history的详解与使用
  3. JavaScript获取iframe中form表单中元素的值
  4. angularjs获取上一个元素的id_三男子非法获取苹果ID账号买卖,交易数万条,价格从一毛到上百元不等...
  5. cookie的简单学习
  6. 找不到或无法加载主类的原因之一
  7. hbase中为何不能向表中插入数据_Hbase快速入门(超精炼总结)
  8. 3月上旬我国域名增长平稳 新增92059个域名
  9. android studio闪退代码不报错_代码不报错,不代表真的没错
  10. fedora下安装pps
  11. 创建路径_PS钢笔工具是建立路径的基本工具
  12. Dubbo 新编程模型之外部化配置 1
  13. Ubuntu系列10.04、11.04、12.04等虚拟机中安装VMware Tools
  14. java 度量_Java度量方法调用率
  15. 最新Apicloud+Vue开发App专题完整
  16. 手机QQ邮箱登录不上的解决办法
  17. 服务器虚拟化和桌面虚拟化
  18. 超声波传感器(CHx01ICU-x0201ICU-30201) - 资源抢先看(资料获取)
  19. 香格里拉是如何策划成功的?
  20. 淘宝客网站应该怎么优化?

热门文章

  1. [转]md语法|LaTex数学公式
  2. 百分点科技连续7年获评“中国大数据企业50强”
  3. RuntimeWarning: Glyph 24037 missing from current font. font.set_text(s, 0.0, flags=flags)解决方法
  4. 常见人体铰链关节点数据集中的关节点顺序(SMPL,NTU,MPII,Human3.6M)
  5. C语言实现toupper函数功能(附完整源码)
  6. ​华雨欢:数字货币不是区块链的铐镣而是其闪光点
  7. 快牙网传——轻松连接电脑
  8. 计算机二级胶卷延时,胶片翻拍延时 傻瓜式操作效率极高
  9. 机器视觉行业实践技巧 -- OpenCV技巧与方法:避坑指南
  10. HTML+CSS完成毛玻璃发光按钮的制作