最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何使用@AllArgsConstructor和final 代替 @Autowired

 更新時間:2021年09月26日 09:07:24   作者:愛上深呼吸k  
這篇文章主要介紹了使用@AllArgsConstructor和final 代替 @Autowired方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

@AllArgsConstructor和final 代替 @Autowired

在這里插入圖片描述

Springboot官方建議使用final來修飾成員變量,然后通過構(gòu)造方法來進(jìn)行注入原因:final修飾的成員變量是不能夠被修改的,反射那就沒辦法了。

spring代替 @Autowired(lombok相關(guān)注解)

前提:使用lombok

@Slf4j
@RestController
//生成一個包含過所有字段的構(gòu)造方法
//@AllArgsConstructor
//會將類的每一個final字段或者non-null字段生成一個構(gòu)造方法 
@RequiredArgsConstructor
public class AdminUserController {
    /* autowired沒什么問題,但是有可能報錯,iUserService為null,spring也不建議使用autowired */
    //@Autowired
    //private IUserService iUserService;    
    private final IUserService iUserService;    
    @PostMapping("/login")
    public Result adminLogin(HttpServletResponse response, String username,String password) {
        //....
    }
}

注解

  • @NoArgsConstructor后會 生成無參的構(gòu)造方法
  • @RequiredArgsConstructor會將類的每一個final字段或者non-null字段生成一個構(gòu)造方法
  • @AllArgsConstructor 生成一個包含過所有字段的構(gòu)造方法。

@AllArgsConstructor 和@RequiredArgsConstructor都可以用來替換@Autowired寫法,區(qū)別在@RequiredArgsConstructor必須要有final修飾。

遇到坑

使用@AllArgsConstructor后,@Value會失效,獲取不到值。使用@RequiredArgsConstructor則正常。今后注入service、mapper等都使用@RequiredArgsConstructor好了。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java+Selenium實(shí)現(xiàn)文件上傳下載功能詳解

    Java+Selenium實(shí)現(xiàn)文件上傳下載功能詳解

    這篇文章主要介紹了java代碼如何利用selenium操作瀏覽器上傳和下載文件功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以參考一下
    2023-01-01
  • IDEA 熱部署設(shè)置(JRebel插件激活)

    IDEA 熱部署設(shè)置(JRebel插件激活)

    這篇文章主要介紹了IDEA 熱部署設(shè)置(JRebel插件激活),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Java使用反射操作數(shù)組示例

    Java使用反射操作數(shù)組示例

    這篇文章主要介紹了Java使用反射操作數(shù)組,結(jié)合實(shí)例形式分析了基于java反射機(jī)制操作數(shù)組的創(chuàng)建、賦值、輸出等相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • springboot 整合fluent mybatis的過程,看這篇夠了

    springboot 整合fluent mybatis的過程,看這篇夠了

    這篇文章主要介紹了springboot 整合fluent mybatis的過程,配置數(shù)據(jù)庫連接創(chuàng)建數(shù)據(jù)庫的詳細(xì)代碼,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • Java中指定時區(qū)的3種方法

    Java中指定時區(qū)的3種方法

    這篇文章主要介紹了Java中指定時區(qū)的3種方法,本文是一個JAVA項目和.NET項目通訊時遇到的問題,本文給出JAVA中的3種解決方法,需要的朋友可以參考下
    2015-02-02
  • java SpringBoot自定義注解,及自定義解析器實(shí)現(xiàn)對象自動注入操作

    java SpringBoot自定義注解,及自定義解析器實(shí)現(xiàn)對象自動注入操作

    這篇文章主要介紹了java SpringBoot自定義注解,及自定義解析器實(shí)現(xiàn)對象自動注入操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Java實(shí)現(xiàn)將每日新聞添加到自己博客中

    Java實(shí)現(xiàn)將每日新聞添加到自己博客中

    這篇文章主要為大家詳細(xì)介紹了Java如何實(shí)現(xiàn)將每日新聞添加到自己博客中并發(fā)送到微信群中,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-12-12
  • 詳解SpringBoot依賴注入和使用配置文件

    詳解SpringBoot依賴注入和使用配置文件

    這篇文章主要介紹了SpringBoot依賴注入和使用配置文件的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Java中static變量能繼承嗎

    Java中static變量能繼承嗎

    這篇文章主要介紹了Java中static變量能繼承,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 如何實(shí)現(xiàn)java Iterator迭代器功能

    如何實(shí)現(xiàn)java Iterator迭代器功能

    這篇文章主要介紹了如何實(shí)現(xiàn)java Iterator迭代器功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01

最新評論

洪泽县| 友谊县| 福清市| 泸溪县| 逊克县| 南木林县| 抚州市| 拜泉县| 郁南县| 合山市| 乾安县| 项城市| 房山区| 垫江县| 芮城县| 七台河市| 靖远县| 永城市| 濮阳市| 蒲江县| 大名县| 巴里| 嵊泗县| 宝丰县| 吴旗县| 大同县| 共和县| 合阳县| 新化县| 望江县| 乐亭县| 嘉黎县| 南川市| 阜宁县| 铜梁县| 法库县| 合山市| 河曲县| 罗山县| 余庆县| 五原县|