快速帮助我们去实现JavaBean对象的创建的技术——lombok

        今天我们介绍一个开发Javabean(实体类也是一个JavaBean)对象的一个神器:Lombok

一、lombok是什么?

JavaBean:Java定义的可重复使用的组件,也就是类。一般Javabean符合如下特征:
1、类中的属性必须是私有化的private修饰的(为了保证数据的安全性)
2、必须提供公开的getter、setter方法去暴露属性
3、必须具备一个无参构造器(公开的)
4、提供toStringequals方法等(可选)

实体类:实体类也是一种JavaBean对象,但是和JavaBean不一样的是,实体类是和数据库表对应的一个JavaBean对象,一般实体类有如下特点:
1、数据库表名是Java的类名
2、数据库表的字段是Java类的属性
3、数据表中每一项数据就是JavaBean的一个对象
4、对某一行表数据的增删改对应的是JavaBean中getter、setter方法

        因为JavaBean对象概念很清晰——需要公开的getter和setter、toString、构造器,生成这些东西不复杂,但是很繁琐。

所以业界之内提供一个技术 可以快速帮助我们去实现JavaBean对象的创建:lombok

lombok技术采用注解的形式帮助我们代码快速的生成JavaBean对象中getter、setter、toString、equals、构造器这些代码,我们只需要写几个注解即可,会在代码编译时期通过反射自动帮助我们把这些代码加上:相当于这些代码块的增加交由机器帮助我们完成

二、lombok的使用

步骤一  引入lombok的依赖

在pom.xml中添加maven依赖

<dependency>

         <groupId>org.projectlombok</groupId>

         <artifactId>lombok</artifactId>

        <version>1.18.6</version>

</dependency>

步骤二  下载安装lombok的插件

IEDA中file----settings----plugins----lombok下载(小辣椒)

步骤三  在Javabean类上声明lombok的getter setter toString 构造器等等注解

@Data //帮助我们生成getter setter toString equals等等方法
@Builder //帮助我们根据不同的参数用来构建Java对象的
@NoArgsConstructor  //无参构造器
@AllArgsConstructor //所有参数的构造器
public class Student implements Serializable {
    private int id;
    private String name;
    private int age;

}

测试:

public class Test {
    public static void main(String[] args) {
        Student student = new Student();
        Student s = new Student(1,"zs",20);
        //通过Lombok的builder注解创建不同参数的对象
        Student s1 = Student.builder().age(20).build();
    }
}

讲一些底层的东西:自定义注解

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.CLASS)
public @interface MyAnnonation {
}

@Target({ElementType.TYPE}):自定义完可作用在类上

@Target({ElementType.FIELD}):自定义完可作用在属性上

@Target({ElementType.METHOD}):自定义完可作用在方法上

生命周期类型描述
RetentionPolicy.SOURCE编译时被丢弃,不包含在类文件中
RetentionPolicy.CLASSJVM加载时被丢弃,包含在类文件中,默认值
RetentionPolicy.RUNTIME由JVM 加载,包含在类文件中,在运行时可以被获取到

三、注意

        Lombok虽然是一个神奇,可以简化开发人员的编写代码,带式这个神奇对代码的侵入性很大:

1、在一个开发组中,如果我们使用了lombok,那么别人如果要用我们的代码 ,那么他必须下载lombok的插件和lombok的依赖,如果没引入下载 那么无法使用

2、 Lombok虽然好用,但是看具体的公司代码组的要求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值