面向對象(上) java面向對象學習三條主線 * 1.java類及類的成員:屬性、方法、構造器、代碼塊、內部類 * 2.面向對象的三大特征:封裝,繼承,多態 * 3.其他關鍵字:this,super,static,final,abstract,interface,package,import等 面向 ...
轉自:
http://www.java265.com/JavaFramework/SpringBoot/202207/3965.html
下文筆者講述springboot中使用@ConfigurationProperties綁定配置參數的方法分享,如下u宋史
我們都知道 屬性綁定,我們通常使用@Value("${property}") 註解進行綁定, 但是當屬性出現分層的現象,則編寫比較繁瑣 針對這個現象SpringBoot引入@ConfigurationProperties註解
例:
@Data @ConfigurationProperties("java.service") public class MyProperties { //get set代碼省略 private boolean enabled = true; private InetAddress remoteAddress; private final Security security = new Security(); @Data public static class Security { private String username; private String password; // 如果這個屬性配置的話,預設是“USER” private List<String> roles = new ArrayList<>(Collections.singleton("USER")); } } 在配置文件中進行如下配置: java: service: enabled: true remoteAddress: 127.0.0.1 security: username: java265user password: password roles: - role1 - role2
@ConfigurationProperties重要屬性說明
@ConfigurationProperties( value = "java.service", ignoreInvalidFields = false, ignoreUnknownFields = false) ignoreInvalidFields: 是否忽略非法值,如將一個字元串 "test"賦值給 bool 值,不忽略的話會報啟動異常。 ignoreUnknownFields: 對於多餘的配置是否會報異常