LOMBOK常用註解說明

2021-09-27 16:05:36 字數 4034 閱讀 6028

如果還可以的話可以打上一波

**@slf4j 由於自己開啟日誌需要寫上

private  final logger logger = logge***ctory.getlogger(***.class);
為了方便,可以使用註解@slf4j來直接使用log物件,簡化了一行**。。。

原來使用的就是logger.info("");這樣的**,現在就可以使用log.info("")

在使用中需要引入jar包import lombok.extern.slf4j.slf4j;

生成setter方法,final變數不包含

//原始類

@setter

public class testentity

//反編譯的類

public class testentity

public void setname(string name)

public void setage(integer age)

}

@getter

生成getter方法,final變數不包含

//原始類

@getter

public class testentity

//反編譯的類

public class testentity

public string getname()

public integer getage()

public string gettype()

}

@noargsconstructor : 生成無參構造

@allargsconstructor : 生成全部引數構造

@requiredargsconstructor : 通常與@nonull註解連用,表示生成指定的有參構造

//原始類

@requiredargsconstructor

public class testentity

//反編譯的類

public class testentity )

public testentity(@nonnull integer age) else }}

@tostring :生成所有屬性的tostring()方法

@equalsandhashcode:生成equals()方法和hashcode方法

@data(常用): @data=@setter+@getter+@equalsandhashcode+@noargsconstructor

//原始類

@data

public class testentity

//反編譯的類

public class testentity

public string getname()

public integer getage()

public string gettype()

public void setage(integer age)

public boolean equals(object o)

protected boolean canequal(object other)

public int hashcode()

public string tostring()

private void setname(string name)

}

@builder:構造builder模式的結構。通過內部類builder()進行構建物件。

//原始類

@builder

public class testentity

//反編譯的類

public class testentity )

testentity(string name, integer age)

public static testentity.testentitybuilder builder()

public static class testentitybuilder

public testentity.testentitybuilder name(string name)

public testentity.testentitybuilder age(integer age)

public testentity build()

public string tostring()

}} //builder模式使用方法

@test

public void test()

}

@value:

與@data相對應的@value, 兩個annotation的主要區別就是如果變數不加@nonfinal ,@value會給所有的弄成final的。當然如果是final的話,就沒有set方法了。

//原始類

@value

public class testentity

//反編譯的類

public final class testentity )

public testentity(string name, integer age)

public string getname()

public integer getage()

public string gettype()

public boolean equals(object o) else if(!(o instanceof testentity)) else

} else if(this$name.equals(other$name))

return false;

}integer this$age = this.getage();

integer other$age = other.getage();

if(this$age == null)

} else if(!this$age.equals(other$age))

string this$type = this.gettype();

string other$type = other.gettype();

if(this$type == null)

} else if(!this$type.equals(other$type))

return true;}}

public int hashcode()

public string tostring()

}

@synchronized: 同步方法

//原始類

public class testentity

}//反編譯的類

public class testentity

public void write() }}

@cleanup @@sneakythrows:自動呼叫close方法關閉資源。

//原始類

public class testentity

}//反編譯的類

public class testentity

public void outputstream()

} catch (throwable var2) }}

@async註解

啟動加上@enableasync,需要執行非同步方法加入@async

常用註解說明

註解 說明 component 最普通的元件,可以被注入到spring容器進行管理 restcontroller controller中的方法無法返回string檢視 restcontroller 返回資料 等同 controller 和 responsebody 兩個註解 controller c...

swagger常用註解說明

作者 xiangdong she 作者連線 常用到的註解有 api標記 api 標記可以標記乙個controller類做為swagger 文件資源,使用方式 api value user description operations about user 與controller註解並列使用。屬性配置...

swagger常用註解說明

常用到的註解有 1.api標記 api 用在類上,說明該類的作用。可以標記乙個controller類做為swagger 文件資源,使用方式 api value user description operations about user 與controller註解並列使用。屬性配置 屬性名稱 備註v...