大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 spring中不同類型的的bean注入

spring中不同類型的的bean注入

更新時間:2022-08-29 10:18:39 來源:動力節(jié)點 瀏覽2079次

概述

本文重點介紹 Spring 中的 bean 注入類型。從廣義上和歷史上看,它支持兩種類型的 bean 注入:

1.基于構(gòu)造函數(shù)的 Bean 注入

2.基于 Setter 的 Bean 注入

Spring 提供了各種方法來定義 bean 和配置依賴注入,使用:

XML 配置文件

@Autowired注解

Java 代碼(即配置類,只有注解)

在基于 XML 的配置中,這是最古老的方式,我們必須定義和配置所有的 bean。然后 Spring 的容器 Bean Factory 加載這個 XML 并應(yīng)用配置。Java 注釋提供與 XML 文件配置相同的功能。但改用注解,例如@ Autowired、@ Service 、 @ Component等,也更簡單。基于 Java 代碼的配置類似于 XML 配置。但是使用注解、配置類和方法來配置 Java 代碼中的所有內(nèi)容。

本文將僅關(guān)注 Spring 中基于 Java 代碼的 bean 注入以進行概念化。我們在下面的代碼示例中對此進行了描述。

基于構(gòu)造函數(shù)的 Bean 注入

一個類指定一個依賴屬性,即另一個類實例,并使用接受參數(shù)的構(gòu)造函數(shù)實例化它。

公共 類 HourlyNews {
    私人WeatherUpdate 天氣更新;
    公共 HourlyNews(天氣更新更新) {
        天氣更新 = 更新;
    }
    // 新聞的其他方法
}

HourlyNews類還提供天氣新聞更新。它通過指定對WeatherUpdate接口的依賴來實現(xiàn)良好的、松散耦合的長期合同。

公共 接口 WeatherUpdate {
    公共字符串getUpdate () ;
}

LocalWeatherUpdate類實現(xiàn)WeatherUpdate接口并提供本地天氣更新:

public  class  LocalWeatherUpdate 實現(xiàn) WeatherUpdate  {
     @Override 
    public String getUpdate ()  {
         return  "涼爽多云,22 攝氏度" ;
    }
}

在上面的依賴規(guī)范之后,我們必須定義我們的 bean 并使用 Java 配置文件AppConfig.java配置 Spring 以進行注入:

@Configuration 
public  class  AppConfig  {
     @Bean 
    public HourlyNews hourlyNews ()  {
        HourlyNews hourlyNews = new HourlyNews(weatherUpdate());
        返回每小時新聞;
    }
    @Bean 
    public WeatherUpdate weatherUpdate ()  {
         return  new LocalWeatherUpdate();
        // 或 RestWeatherUpdate()。只需在此處更改類,
        // 允許更改注入的類型
    }
}

@Configuration注解將其表示為 Spring 的配置類。可以有一個或多個配置類。然后,我們使用@Bean注解為LocalWeatherUpdate和HourlyNews類定義了兩個 bean 。請注意 - 在HourlyNews類定義中,我們將依賴項指定為接口WeatherUpdate。但是我們只在配置 bean 時才具體化——在方法中作為LocalWeatherUpdate。

基于 Setter 的 Bean 注入

這種技術(shù)與構(gòu)造函數(shù) bean 注入非常相似。除了不使用類構(gòu)造函數(shù),我們使用 setter 方法進行 bean 注入。所以我們上面的示例代碼將大部分保持不變。但是需要做兩處改動:一處是在HourlyNews類中,即我們將移除構(gòu)造函數(shù)方法并添加一個默認構(gòu)造函數(shù)和一個 setter 方法。另一個在配置類中。

公共 類 HourlyNews {
    私人WeatherUpdate 天氣更新;
    公共 每小時新聞() {}
    公共 無效 setWeatherUpdate ( WeatherUpdate weatherUpdate ) {
         this .weatherUpdate = weatherUpdate;
    }
    // 新聞的其他方法
}

AppConfig.java文件更改:

@Configuration 
public  class  AppConfig  {
     @Bean 
    public HourlyNews hourlyNews ()  {
        每小時新聞 hourlyNews = new HourlyNews();
        hourlyNews.setWeatherUpdate(weatherUpdate());
        返回每小時新聞;
    }
    @Bean 
    public WeatherUpdate weatherUpdate ()  {
         return  new LocalWeatherUpdate();
        // 或 RestWeatherUpdate()。只需在此處更改類,
        // 允許更改注入的類型
    }
}

 

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 免费观看黄a一级视频日本 免费观看黄色 | 香蕉人人超人人超免费看视频 | 久99久热 | 亚洲十欧美十日韩十国产 | 五月天免费在线视频 | 伊人久久波多野结衣中文字幕 | 中文字幕在线播放一区 | 成人国产片免费 | 欧洲一级毛片免费 | 亚洲国产精品综合久久久 | 一区二区三区不卡在线 | 激情国产白嫩美女在线观看 | 神马影院888不卡院 神马影院不卡不卡在线观看 | 日本伊人精品一区二区三区 | 精品国产福利久久久 | 一 级做人爱全视频在线看 一a级毛片 | 国产伦精品一区二区免费 | 久久精品国产99精品最新 | 欧美日韩在线成人 | 日日碰夜夜爽 | 今天的恋爱未删减在线观看 | 四虎影免看黄 | 欧美亚洲国产日韩一区二区三区 | 韩国爱情片免费大全 | 亚久久| 国产在线视频福利 | 成人禁在线观看午夜亚洲 | 视频一区色眯眯视频在线 | 黄色的视频免费看 | 美女又xx又xx免费 | 四虎影视免费看 | 热99精品视频 | 国产青草 | 理论片 我不卡影院 | 国产目拍亚洲精品一区二区三区 | 国产在线自在拍91精品黑人 | 中文字幕亚洲欧美 | 天天视频国产精品 | 女性特黄一级毛片 | 2021国产在线视频 | 波多野结衣一区二区 三区 波多野结衣一区二区三区 波多野结衣一区二区三区高清在线 |