国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

使用Springboot注入帶參數(shù)的構(gòu)造函數(shù)實(shí)例

瀏覽:3日期:2023-05-20 17:07:50

我們使用@Service注解一個(gè)service,默認(rèn)注入的是不帶參的構(gòu)造函數(shù),如果我們需要注入帶參的構(gòu)造函數(shù),怎么辦?

使用@Configuration+ @Bean注解來(lái)實(shí)現(xiàn)注入:

@Configurationpublic class BlockChainServiceConfig { @Bean BlockChainService blockChainService(){ return new BlockChainService(1); }}

service類

public class BlockChainService { private int number; public BlockChainService(int number) { this.number=number; }}

補(bǔ)充知識(shí):Spring Boot - Spring Beans之依賴構(gòu)造器注入

使用所有Spring Framework技術(shù)定義的beans以及他們的依賴注入都是免費(fèi)的。簡(jiǎn)單起見,我們通常使用@CompnentScan查找beans,結(jié)合@Autowired構(gòu)造注入效果比較好。

如果你的代碼結(jié)構(gòu)是按之前建議的結(jié)構(gòu)(將應(yīng)用類放到根包里),你可以添加@ComponentScan,不需要任何參數(shù)。這樣你所有的應(yīng)用組件(@Component,@Service,@Repository,@Controller等等)都將會(huì)注冊(cè)為Spring Beans。

看下面的例子,@Service Bean使用構(gòu)造注入,獲取CacheManager bean。

package com.example.service; import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service; @Servicepublic class DatabaseCacheService implements CacheService { private final CacheManager cacheManager; @Autowired public DatabaseCacheService(CacheManager cacheManager) { this.cacheManager = cacheManager; } // ... }

如果這個(gè)bean有一個(gè)構(gòu)造,可以省略@Autowired。

@Servicepublic class DatabaseCacheService implements CacheService { private final CacheManager cacheManager; public DatabaseCacheService(CacheManager cacheManager) { this.cacheManager = cacheManager; } // ... }

注意,使用構(gòu)造注入允許cacheManager標(biāo)記為final,這也表示以后不能再被更改了。

以上這篇使用Springboot注入帶參數(shù)的構(gòu)造函數(shù)實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 盱眙县| 顺昌县| 北京市| 东乌珠穆沁旗| 海阳市| 彭水| 西城区| 庆阳市| 阿城市| 新郑市| 呈贡县| 桂林市| 安福县| 屏边| 县级市| 玉树县| 波密县| 宁蒗| 宜黄县| 香港 | 仁寿县| 西峡县| 德钦县| 海安县| 祁阳县| 龙胜| 陇川县| 黎城县| 嘉义县| 安仁县| 绥滨县| 收藏| 曲松县| 蒲江县| 花莲县| 奇台县| 安平县| 正镶白旗| 务川| 兴国县| 娄底市|