当前位置: 首页 > news >正文

4. Getter和Setter注解与lombok

文章目录

  • 1. 什么是Getter和Setter注解
  • 2. 什么是lombok
    • java自带的jar包
  • 3. 从maven仓库里找lombok相关jar包
  • 4. 把jar包导入项目
    • 另一个jar包导入途径
  • 5. 正式使用注解
    • ① 问题
    • ② 解决方案
      • 提示
  • 6. 如果还想对某个成员变量添加限制怎么办
  • 7. 内容出处

1. 什么是Getter和Setter注解

官方介绍
        最开始我们是不是手写get和set方法,但是由于太麻烦了,所以换成了(alt+insert -> Getter and Setter -> 全选 -> 回车)让idea给我们生成。
        但是如果当前类里有20多个甚至100个私有成员变量,难道也要一个一个点吗(当然全选的时候也可以用Ctrl+A)?这不是太麻烦了么。
        现在我们有一个很简便的方法,只需要在类前面写一个@Getter和@Setter注解,它就会帮我们自动生成当前类里所有私有成员变量的get和set方法了,就不需要我们自己写了。
在这里插入图片描述
        我们也可以只给某个成员变量自动生成get和set方法
在这里插入图片描述
        后续学框架的时候可能还会遇到。
        我们可以发现现在@Getter和@Setter是标红的,因此该注解需要和lombok里的相关jar包搭配使用。不用jar包的话,Alt + 回车 会提示我们安装Getter(或Setter)注解,这样太麻烦了。

2. 什么是lombok

        简单来说,它就是一个java仓库,里面有很多第三方jar包。
官方介绍
idea里安装lombok插件

java自带的jar包

在这里插入图片描述

3. 从maven仓库里找lombok相关jar包

maven是什么
maven仓库网址
进来之后在下面这个搜索框里搜:
在这里插入图片描述
        可以发现市场上所有的jar包这里几乎都有(mysql相关jar包也能搜到)。我们下载最新的(也就是第一个)
        点击版本号进来,然后选择Files这一栏里的 jar 即可下载(企业开发不会下载jar包,企业用的是maven或者Gradle)
在这里插入图片描述

4. 把jar包导入项目

步骤:新建jar文件夹 -> 把下载好的jar包拖进来 -> 右键单击 -> Add as Library(level选择 project library即可)
在这里插入图片描述
Global Library:全局库。所有项目都可以用
Project Library:项目库。当前项目可以用
Module Library:模块库。后续学框架就会知道module这个概念

另一个jar包导入途径

我们发现在这里也能看到我们刚刚导入的jar包在这里插入图片描述

5. 正式使用注解

① 问题

        这个时候我们Alt+回车,可以发现@Getter和@Setter不标红了。
在这里插入图片描述
        但是运行一下程序,会发现报错了
在这里插入图片描述

② 解决方案

github项目:idea中lombok插件相关信息
往下翻就可以找到解决方案:
在这里插入图片描述
在这里插入图片描述
再次运行一下,发现可以了。
在这里插入图片描述

提示

        对于这种开源项目,以后遇到问题我们都可以上官网(github里有的话也可以去github)看看会不会是版本支持什么出问题了(虽然此处不是版本问题)。也可以进Issues板块看看。

6. 如果还想对某个成员变量添加限制怎么办

        在类里重新写一下这个成员变量的方法就可以了。-- 方法的重写
在这里插入图片描述

package com.practice.bean;import lombok.Getter;
import lombok.Setter;@Getter
@Setter
public class Dogs {private String name;private int age;private String variety;private String food;public void setAge(int age){if(age < 0 || age > 30){System.out.println("输入数据不合法, 已为您自动清零");this.age = 0;}else{this.age = age;}}public int getAge(){return this.age;}public void eat() {System.out.println(this.name + "狗吃饭!");}public void sleep() {System.out.println(this.name + "狗睡觉!");}void crazy() {System.out.println(this.name + "狗发疯");}
}

7. 内容出处

java


http://www.mrgr.cn/news/43842.html

相关文章:

  • 深入理解 Java 对象的内存布局
  • 01背包[学术]
  • RAG再总结之如何使大模型更好使用外部数据:四个不同层级及查询-文档对齐策略
  • c++中多线程的用法
  • 【CSS Tricks】试试新思路去处理文本超出情况
  • lrzsz串口文件传输
  • 打造银行智能营销助手:大模型助力精准营销
  • 网页前端开发之Javascript入门篇(5/9):函数
  • Leetcode力扣刷题——704.二分查找二分搜索法
  • 360桌面助手意见反馈
  • 关于Excel将列号由字母改为数字
  • CSP-J/S 复赛算法 区间动态规划
  • 【黑马点评】 使用RabbitMQ实现消息队列——2.使用RabbitMQ监听秒杀下单
  • 华为平板与非华为电脑多屏协同及Bug处理
  • 五种IO模型与阻塞IO
  • 软考系统分析师知识点三:应用数学
  • 【11】纯血鸿蒙HarmonyOS NEXT星河版开发0基础学习笔记-模块化语法与自定义组件
  • fiddler抓包18-2_导出jmeter、postman脚本(带请求头)
  • 【C#生态园】走进微服务世界:六款必备工具深度剖析
  • 明星周边销售网站开发:SpringBoot技术全解析