4. Getter和Setter注解与lombok

devtools/2024/10/20 18:59:13/

文章目录

  • 1. 什么是Getter和Setter注解
  • 2. 什么是lombok
  • 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插件

javajar_15">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. 如果还想对某个成员变量添加限制怎么办

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

java">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.ppmy.cn/devtools/122204.html

相关文章

linux驱动开发之LED灯驱动(附驱动源码,适用于全志,瑞芯微等芯片)

最近学习linux驱动&#xff0c;前面讲述了字符型驱动开发的驱动编写框架以及具体步骤&#xff0c;而LED驱动是字符型驱动中最基础的&#xff0c;本次我们就来学习一下linux的LED灯驱动开发步骤&#xff0c;同时源码放出来供大家参考。 本次驱动开发适用于全志&#xff0c;瑞芯…

Spring Boot 快速入门教程

1. Spring Boot 简介 Spring Boot 是一个基于 Spring 框架的项目&#xff0c;它简化了基于 Spring 的 Java 应用程序的创建和部署。Spring Boot 通过提供一系列的“Starters”来简化 Maven 配置&#xff0c;同时使用约定大于配置的原则&#xff0c;让开发者能够以最少的配置启…

冯诺依曼体系|操作系统

目录 一、硬件&#xff1a;冯诺依曼体系 1.冯诺依曼体系结构 2.冯诺依曼体系结构组成 3.内存的重要性 &#xff08;1&#xff09;提升运行速度 &#xff08;2&#xff09;提升运行效率 二、软件&#xff1a;操作系统 1.什么是操作系统 &#xff08;1&#xff09;内部理…

Elasticsearch基础_5.ES聚合功能

文章目录 一、数据聚合1.1、桶聚合1.1.1、单维度桶聚合1.1.2、聚合结果排序1.1.3、限定聚合范围 1.2、Metric聚合 二、聚合总结 本文只记录ES聚合基本用法&#xff0c;后续有更复杂的需求可以查看相关书籍&#xff0c;如《Elasticsearch搜索引擎构建入门与实战》 一、数据聚合…

GO语言深度探索:并发编程与高性能网络服务器实践

GO语言深度探索&#xff1a;并发编程与高性能网络服务器实践 在当今快速发展的软件开发领域&#xff0c;Go语言&#xff08;又称Golang&#xff09;以其简洁的语法、强大的并发处理能力以及高效的编译执行速度&#xff0c;迅速成为构建高性能、高并发系统的首选语言之一。本文…

【预备理论知识——1】深度学习:概率论概述

简单地说&#xff0c;机器学习就是做出预测。 概率论 掷骰子 假设我们掷骰子&#xff0c;想知道看到1的几率有多大&#xff0c;而不是看到另一个数字。 如果骰子是公平的&#xff0c;那么所有六个结果{1,…, 6}都有相同的可能发生&#xff0c; 因此我们可以说 1 发生的概率为1…

【漏洞复现】VEXUS多语言货币交易所存在未授权访问漏洞

漏洞描述 java后端,非常完整的一套交易所,UI前端做的也很漂亮,新增了交易跟单功能,前端pc+wap都是uniapp纯源码,前端源码node_modules环境已经安装好了,拿去直接编译就可以. 后端 前端 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共…

基于Hive和Hadoop的电信流量分析系统

本项目是一个基于大数据技术的电信流量分析系统&#xff0c;旨在为用户提供全面的通信数据和深入的流量使用分析。系统采用 Hadoop 平台进行大规模数据存储和处理&#xff0c;利用 MapReduce 进行数据分析和处理&#xff0c;通过 Sqoop 实现数据的导入导出&#xff0c;以 Spark…