新聞中心
本篇文章重點(diǎn)為大家講解一下Springboot注入帶參數(shù)的構(gòu)造函數(shù)具體實(shí)現(xiàn)方法,有需要的小伙伴可以參考一下。

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),揭東企業(yè)網(wǎng)站建設(shè),揭東品牌網(wǎng)站建設(shè),網(wǎng)站定制,揭東網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,揭東網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
我們使用@Service注解一個(gè)service,默認(rèn)注入的是不帶參的構(gòu)造函數(shù),如果我們需要注入帶參的構(gòu)造函數(shù),怎么辦?
使用@Configuration+ @Bean注解來(lái)實(shí)現(xiàn)注入:
@Configuration
public 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)單起見(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;
@Service
public class DatabaseCacheService implements CacheService {
private final CacheManager cacheManager;
@Autowired
public DatabaseCacheService(CacheManager cacheManager) {
this.cacheManager = cacheManager;
}
// ...
}
如果這個(gè)bean有一個(gè)構(gòu)造,可以省略@Autowired。
@Service
public 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è)參考。
當(dāng)前題目:Springboot注入帶參數(shù)的構(gòu)造函數(shù)具體實(shí)現(xiàn)方法
轉(zhuǎn)載來(lái)源:http://fisionsoft.com.cn/article/cogddjc.html


咨詢
建站咨詢
