1. Configuration in yaml
as follows:
andawell: permission: allPermissionSign: [["Airline Company","Military Product Sales Center"],["Civil Aviation Division","Civil Aviation Sales Center"],["Airline Company","Military Product Sales Center"],["Airline Company","Military Product Sales Center"]] orgName: - Aviation company - Civil Aviation Department - Aviation company - Aviation company activeOrg: 1
2. Obtain
1. Integers can be obtained normally using @Value:
@Value("${}") int permissionActiveOrg;
- When getting array/list using @Value, it cannot be retrieved normally:
@Value("${}") List<List<string>> allPermissionSign;
3. Solution
Solution 1
For non-necked lists: for example: swl :[a,b,c,d],
Need to change to: swl: a, b, c, d;
@Value(“${swl}”)
or@Value("#{'${swl}'.split(',')}")
Solution 2
For complex configurations such as nested lists:
allPermissionSign: [["Airline Company","Military Product Sales Center"],["Civil Aviation Division","Civil Aviation Sales Center"], ["Airline Company","Military Product Sales Center"],["Airline Company","Military Product Sales Center"]]
use
@ConfigurationProperties(prefix = "")
Get:
@Component @Data @ConfigurationProperties(prefix = "") public class DataSyncConfig { /** * The center names with all permissions in each organization are the departments with all permissions under [Aviation Settings, Civil Aviation, Intelligence, Information] */ List<List<String>> allPermissionSign; /** * The full name of each organization is [Aviation Settings, Civil Aviation, Intelligence, Information] in turn */ List<String> orgName; /** * Effective organization, [1 aviation installation, 2 civil aviation, 3 intelligence, 4 information] */ Integer activeOrg; }
Summarize
The above is personal experience. I hope you can give you a reference and I hope you can support me more.