@Getter和@Setter
@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相关推荐
- Swift快速入门之getter 和 setter
属性可以用getter和setter方法的形式提供. <code class="hljs lasso has-numbering" style="display: ...
- 基于注解处理器开发自动生成getter和setter方法的插件
昨天无意中,逛到了lombok的网站,并看到了首页的5分钟视频,视频中的作者只是在实体类中写了几个字段,就可以自动编译为含setter.getter.toString()等方法的class文件.看着挺 ...
- [译] Lenses:可组合函数式编程的 Getter 和 Setter(第十九部分)
原文地址:Lenses: Composable Getters and Setters for Functional Programming 原文作者:Eric Elliott 译文出自:掘金翻译计划 ...
- 【Groovy】Groovy 方法调用 ( Java 类成员及 setter 和 getter 方法设置 | Groovy 类自动生成成员的 getter 和 setter 方法 )
文章目录 一.Java 类成员及 setter 和 getter 方法设置 二.Groovy 类自动生成成员的 getter 和 setter 方法 一.Java 类成员及 setter 和 gett ...
- 第7.26节 Python中的@property装饰器定义属性访问方法getter、setter、deleter 详解
第7.26节 Python中的@property装饰器定义属性访问方法getter.setter.deleter 详解 一. 引言 Python中的装饰器在前面接触过,老猿还没有深入展开介绍装饰 ...
- idea mybatis generator插件_Mybatis使用自定义插件去掉POJO的Getter和Setter方法
Mybatis使用自定义插件去掉POJO的Getter和Setter方法
- java setter_java – 如何获得@getter和@setter?
@Getter和@Setter是 Lombook注释. Lombook是一个框架,在注释的类或属性中生成重复代码,如equals,hashCode()或getters和setters,清理代码,使编码 ...
- getter和setter
getter和setter 我们先不管getter和setter是啥. 来看一段代码 package com.lewen.day17; public class Person {String name ...
- JavaScript中闭包实现的私有属性的getter()和setter()方法
注意: 以下的输出都在浏览器的控制台中 <!DOCTYPE html> <html> <head><meta charset="utf-8" ...
- Spring的核心机制依赖注入,Junit测试与Java基础Getter和Setter两种方法意义——2017.07.26...
今天对Spring的基础理解又加深了一丢丢. 1 首先Spring的基础配置文件中,主要由以下几个配置文件, 1 <beans xmlns:xsi="http://w3.org/200 ...
最新文章
- Java面向对象:覆写与重载
- history的详解与使用
- JavaScript获取iframe中form表单中元素的值
- angularjs获取上一个元素的id_三男子非法获取苹果ID账号买卖,交易数万条,价格从一毛到上百元不等...
- cookie的简单学习
- 找不到或无法加载主类的原因之一
- hbase中为何不能向表中插入数据_Hbase快速入门(超精炼总结)
- 3月上旬我国域名增长平稳 新增92059个域名
- android studio闪退代码不报错_代码不报错,不代表真的没错
- fedora下安装pps
- 创建路径_PS钢笔工具是建立路径的基本工具
- Dubbo 新编程模型之外部化配置 1
- Ubuntu系列10.04、11.04、12.04等虚拟机中安装VMware Tools
- java 度量_Java度量方法调用率
- 最新Apicloud+Vue开发App专题完整
- 手机QQ邮箱登录不上的解决办法
- 服务器虚拟化和桌面虚拟化
- 超声波传感器(CHx01ICU-x0201ICU-30201) - 资源抢先看(资料获取)
- 香格里拉是如何策划成功的?
- 淘宝客网站应该怎么优化?
热门文章
- [转]md语法|LaTex数学公式
- 百分点科技连续7年获评“中国大数据企业50强”
- RuntimeWarning: Glyph 24037 missing from current font. font.set_text(s, 0.0, flags=flags)解决方法
- 常见人体铰链关节点数据集中的关节点顺序(SMPL,NTU,MPII,Human3.6M)
- C语言实现toupper函数功能(附完整源码)
- ​华雨欢:数字货币不是区块链的铐镣而是其闪光点
- 快牙网传——轻松连接电脑
- 计算机二级胶卷延时,胶片翻拍延时 傻瓜式操作效率极高
- 机器视觉行业实践技巧 -- OpenCV技巧与方法:避坑指南
- HTML+CSS完成毛玻璃发光按钮的制作