4. Getter和Setter注解与lombok

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值