欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年04月26日 16:09:18   作者:wzng  
這篇文章主要介紹了使用Springboot注入帶參數(shù)的構造函數(shù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

使用@Configuration+ @Bean注解來實現(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;
 
 }
}

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

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

如果你的代碼結構是按之前建議的結構(將應用類放到根包里),你可以添加@ComponentScan,不需要任何參數(shù)。這樣你所有的應用組件(@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注入帶參數(shù)的構造函數(shù)實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java基礎面試題之volatile詳解

    Java基礎面試題之volatile詳解

    Volatile可以看做是輕量級的 Synchronized,它只保證了共享變量的可見性,下面這篇文章主要給大家介紹了關于Java基礎面試題之volatile的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • 注入jar包里的對象,用@autowired的實例

    注入jar包里的對象,用@autowired的實例

    這篇文章主要介紹了注入jar包里的對象,用@autowired的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • springboot集成nacos的配置方法

    springboot集成nacos的配置方法

    這篇文章主要介紹了springboot集成nacos的配置方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • Spring?Task任務調度的實現(xiàn)示例

    Spring?Task任務調度的實現(xiàn)示例

    本文主要介紹了Spring?Task任務調度的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • JAVA浮點數(shù)計算精度損失底層原理與解決方案

    JAVA浮點數(shù)計算精度損失底層原理與解決方案

    本文主要介紹了JAVA浮點數(shù)計算精度損失底層原理與解決方案。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • Spring Boot整合FTPClient線程池的實現(xiàn)示例

    Spring Boot整合FTPClient線程池的實現(xiàn)示例

    這篇文章主要介紹了Spring Boot整合FTPClient線程池的實現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • Java字節(jié)碼的增強技術

    Java字節(jié)碼的增強技術

    這篇文章簡單介紹了幾種Java字節(jié)碼的增強技術,如ASM、Javassist、Byte Buddy、JVM-SANDBOX,需要的朋友可以參下面文章
    2021-08-08
  • Java代碼中與Lua相互調用實現(xiàn)詳解

    Java代碼中與Lua相互調用實現(xiàn)詳解

    這篇文章主要為大家介紹了Java代碼中與Lua相互調用實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Java中l(wèi)ist集合為空或為null的區(qū)別說明

    Java中l(wèi)ist集合為空或為null的區(qū)別說明

    這篇文章主要介紹了Java中l(wèi)ist集合為空或為null的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringBoot中@Value獲取值和@ConfigurationProperties獲取值用法及比較

    SpringBoot中@Value獲取值和@ConfigurationProperties獲取值用法及比較

    在Spring Boot中,@Value注解是一個非常有用的特性,它允許我們將外部的配置注入到我們的Bean中,@ConfigurationProperties用于將配置文件中的屬性綁定到 Java Bean 上,本文介紹了@Value獲取值和@ConfigurationProperties獲取值用法及比較,需要的朋友可以參考下
    2024-08-08

最新評論