如何解決@value獲取不到y(tǒng)aml數(shù)組的問題
一、yaml中的配置
如下:
andawell:
permission:
allPermissionSign: [["航設(shè)公司","軍品銷售中心"],["民用航空事業(yè)部","民航銷售中心"],["航設(shè)公司","軍品銷售中心"],["航設(shè)公司","軍品銷售中心"]]
orgName:
- 航設(shè)公司
- 民用航空事業(yè)部
- 航設(shè)公司
- 航設(shè)公司
activeOrg: 1二、獲取
1.整數(shù)使用@Value可正常獲取:
@Value("${andawell.permission.activeOrg}")
int permissionActiveOrg;- 獲取數(shù)組/列表使用@Value時,無法正常獲?。?/li>
@Value("${andawell.permission.allPermissionSign}")
List<List<string>> allPermissionSign;三、解決方案
解決方案1
對于非嵌套列表:如:swl :[a,b,c,d],
需要更改成:swl: a,b,c,d的形式;
@Value(“${swl}”) 或者 @Value("#{'${swl}'.split(',')}")
解決方案2
對于嵌套列表等復(fù)雜的配置:如:
allPermissionSign: [["航設(shè)公司","軍品銷售中心"],["民用航空事業(yè)部","民航銷售中心"], ["航設(shè)公司","軍品銷售中心"],["航設(shè)公司","軍品銷售中心"]]
采用
@ConfigurationProperties(prefix = "andawell.permission")
獲?。?/p>
@Component
@Data
@ConfigurationProperties(prefix = "andawell.permission")
public class DataSyncConfig {
/**
* 各個組織中具有所有權(quán)限的中心名稱,依次為【航設(shè)、民航、智能、信息】下的所有權(quán)限的部門
*/
List<List<String>> allPermissionSign;
/**
* 各個組織的全稱,依次為【航設(shè)、民航、智能、信息】
*/
List<String> orgName;
/**
* 生效的組織,【1航設(shè)、2民航、3智能、4信息】
*/
Integer activeOrg;
}總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java策略枚舉:消除在項目里大批量使用if-else的優(yōu)雅姿勢
這篇文章主要給大家介紹了關(guān)于Java徹底消滅if-else的8種方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2021-06-06
Java使用默認(rèn)瀏覽器打開指定URL的方法(二種方法)
Java使用默認(rèn)瀏覽器打開指定URL。2013-10-10
MyBatis簡介與配置MyBatis+Spring+MySql的方法
MyBatis 是一個可以自定義SQL、存儲過程和高級映射的持久層框架。這篇文章主要介紹了MyBatis簡介與配置MyBatis+Spring+MySql的方法,需要的朋友可以參考下2017-04-04
基于SpringBoot與AES實現(xiàn)接口響應(yīng)數(shù)據(jù)加密的代碼示例
最近項目中為了保證數(shù)據(jù)安全,要求接口對關(guān)鍵響應(yīng)數(shù)據(jù),比如敏感信息(如用戶信息、權(quán)限數(shù)據(jù)、業(yè)務(wù)關(guān)鍵內(nèi)容等)必須加密傳輸,所以,本文將圍繞一個實際的SpringBoot應(yīng)用場景,基于??Hutool工具包中的AES加密能力??,封裝一個???接口響應(yīng)數(shù)據(jù)自動加密的解決方案??2025-08-08
解決 java.lang.NoSuchMethodError的錯誤
這篇文章主要介紹了解決 java.lang.NoSuchMethodError的錯誤的相關(guān)資料,需要的朋友可以參考下2017-06-06

