中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Springboot注入帶參數的構造函數

發布時間:2020-07-30 13:50:31 來源:億速云 閱讀:3009 作者:小豬 欄目:編程語言

這篇文章主要講解了如何使用Springboot注入帶參數的構造函數,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

我們使用@Service注解一個service,默認注入的是不帶參的構造函數,如果我們需要注入帶參的構造函數,怎么辦?

使用@Configuration+ @Bean注解來實現注入:

@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;
 
 }
}

補充知識:Spring Boot - Spring Beans之依賴構造器注入

使用所有Spring Framework技術定義的beans以及他們的依賴注入都是免費的。簡單起見,我們通常使用@CompnentScan查找beans,結合@Autowired構造注入效果比較好。

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

看下面的例子,@Service Bean使用構造注入,獲取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;
 }
 
 // ...
 
}

如果這個bean有一個構造,可以省略@Autowired。

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

注意,使用構造注入允許cacheManager標記為final,這也表示以后不能再被更改了。

看完上述內容,是不是對如何使用Springboot注入帶參數的構造函數有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

固始县| 虞城县| 玛多县| 榆中县| 永安市| 台江县| 葫芦岛市| 顺昌县| 化州市| 海阳市| 恩施市| 寿阳县| 谢通门县| 大理市| 法库县| 城市| 湘潭市| 繁峙县| 措美县| 翼城县| 饶平县| 霍州市| 闵行区| 民县| 毕节市| 扎赉特旗| 上高县| 左贡县| 城固县| 高陵县| 万山特区| 徐水县| 泰来县| 嫩江县| 建阳市| 乐陵市| 青岛市| 闸北区| 迭部县| 美姑县| 湖南省|