日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

在Spring Boot中使用@ConfigurationProperties

發布時間:2023/12/3 javascript 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Spring Boot中使用@ConfigurationProperties 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在最近的博客文章中,我簡短地介紹了如何在Spring Boot應用程序中配置郵件 。 要將屬性注入配置中,我使用了Spring的@Value注釋。 但是Spring Boot提供了一種使用屬性的替代方法,該方法允許強類型的Bean來管理和驗證應用程序的配置。 在本文中,我將演示在配置應用程序時如何利用@ConfigurationProperties 。

因此,我們以郵件配置為例。 配置文件放置在一個名為mail.properties的單獨文件中。 必須使用適當的約定來命名屬性,以便可以正確地綁定它們。 讓我們看一些例子:

  • protocol和PROTOCOL將綁定到bean的protocol字段
  • smtp-auth , smtp_auth , smtpAuth將綁定到bean的smtpAuth字段
  • smtp.auth將被綁定到……hmm到bean的smtp.auth字段!

Spring Boot使用一些寬松的規則將屬性綁定到@ConfigurationProperties bean,并支持層次結構。

因此,讓我們創建一個@ConfigurationProperties bean:

@ConfigurationProperties(locations = "classpath:mail.properties", ignoreUnknownFields = false, prefix = "mail") public class MailProperties {public static class Smtp {private boolean auth;private boolean starttlsEnable;// ... getters and setters}@NotBlankprivate String host;private int port; private String from;private String username;private String password;@NotNullprivate Smtp smtp;// ... getters and setters}

…應該從以下屬性( mail.properties )創建:

mail.host=localhost mail.port=25 mail.smtp.auth=false mail.smtp.starttls-enable=false mail.from=me@localhost mail.username= mail.password=

在上面的示例中,我們用@ConfigurationProperties注釋了一個bean,以便Spring Boot可以將屬性綁定到它。 ignoreUnknownFields = false告訴Spring Boot在bean中存在與聲明的字段不匹配的屬性時引發異常。 在開發過程中這非常方便! prefix使您可以選擇要綁定的屬性的名稱前綴。

請注意,setter和getters應該在@ConfigurationProperties bean中創建! 與@Value注釋相反,它可能給代碼帶來一些額外的噪音(在我看來,尤其是在簡單情況下)。

好的,但是我們想使用這些屬性來配置我們的應用程序。 創建@ConfigurationProperties至少有兩種方法。 我們可以將其與提供@Bean的@Configuration一起使用,也可以單獨使用它并注入@Configuration bean中。

第一種情況:

@Configuration @ConfigurationProperties(locations = "classpath:mail.properties", prefix = "mail") public class MailConfiguration {public static class Smtp {private boolean auth;private boolean starttlsEnable;// ... getters and setters}@NotBlankprivate String host;private int port; private String from;private String username;private String password;@NotNullprivate Smtp smtp;// ... getters and setters @Beanpublic JavaMailSender javaMailSender() {// omitted for readability} }

在第二種情況下,我們只需對屬性bean進行注釋(如上所述),然后使用Spring的@Autowire將其注入到郵件配置bean中:

@Configuration @EnableConfigurationProperties(MailProperties.class) public class MailConfiguration {@Autowiredprivate MailProperties mailProperties;@Beanpublic JavaMailSender javaMailSender() {// omitted for readability} }

請注意@EnableConfigurationProperties批注。 該注釋告訴Spring Boot啟用對指定類型的@ConfigurationProperties的支持。 如果未指定,則可能會看到以下異常:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [demo.mail.MailProperties] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

請注意:有另一種方法(Spring Boot總是有其他方法!)來添加帶@ConfigurationProperties注釋的Bean –只需向Bean添加@Configuration或@Component注釋,以便可以在組件掃描期間發現它。

總結起來, @ConfigurationProperties bean非常方便。 比使用@Value注釋更好嗎? 在某些情況下可能是,但這只是您需要做出的選擇。

  • 請參閱Spring Boot的文檔,以了解有關類型安全配置屬性的更多信息: http : //docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#boot-features-external-config-typesafe-configuration-屬性

翻譯自: https://www.javacodegeeks.com/2014/09/using-configurationproperties-in-spring-boot.html

總結

以上是生活随笔為你收集整理的在Spring Boot中使用@ConfigurationProperties的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 婷婷av一区二区三区 | 日日噜噜夜夜狠狠久久丁香五月 | 自拍第1页 | 免费毛片在线播放免费 | 亚洲激情在线视频 | 亚洲视频在线免费观看 | 久久99久| 久久久久久久久影院 | 免费毛片看 | 青青操原 | www.久草.com| 人人草超碰 | 国产黄a三级三级三级 | 国产精品第十页 | 中文字幕婷婷 | 毛片999| 欧美三个黑人玩3p | 久久成人免费视频 | 欧美日韩高清 | 蜜臀久久99静品久久久久久 | 亚洲中文字幕一区 | 高清福利视频 | 偷偷操不一样的99 | 亚洲色图欧美色 | 亚洲一区二区精品视频 | 九草在线| 岛国av在线免费观看 | 我想看毛片 | 91天天看| 午夜精品视频一区二区三区在线看 | 欧美 日韩 国产 激情 | 日韩毛片 | 久草免费新视频 | 精品无码免费视频 | 天天摸日日摸狠狠添 | 亚洲国产精品无码久久久 | 初尝人妻少妇中文字幕 | 精品无人国产偷自产在线 | 国产乱国产乱老熟300部视频 | 亚洲一区二区三区午夜 | 黑人巨大精品欧美一区免费视频 | 久久精品国产亚洲av蜜臀色欲 | 国产精品一级二级 | 日本熟妇一区二区三区 | 精品国产乱码一区二区 | 亚洲一区久久久 | 亚洲成人久 | 午夜电影在线播放 | 中文人妻av久久人妻18 | 日韩在线激情 | 澳门黄色网 | 国产免费又黄又爽又色毛 | free欧美性69护士呻吟 | 小柔好湿好紧太爽了国产网址 | 视色视频在线观看 | 99精品视频免费版的特色功能 | 精品中文在线 | 国产在线不卡av | 老王66福利网 | 成人精品在线视频 | 亚洲AV成人无码精电影在线 | 人妻无码中文字幕 | 中文字幕av一区二区三区 | 一边摸上面一边摸下面 | 欧美成人精品 | gay男互凵gay男同偷精 | 日本爱爱网址 | 免费观看的av | 国产精品视频一区二区三 | 久久一级免费视频 | 国产精品成av人在线视午夜片 | 九九热精品视频 | 熟女性饥渴一区二区三区 | 亚洲涩综合 | 亚洲欧美另类一区 | 精品久久久噜噜噜久久久 | 好大好爽视频 | 九七影院在线观看免费观看电视 | 久操伊人 | 久久大综合 | 午夜肉伦伦| 天天插天天色 | 成人国产片女人爽到高潮 | 99久久婷婷国产精品综合 | 白峰美羽在线播放 | 欧美在线观看一区二区三区 | 婷婷影视 | 91麻豆精品91久久久久同性 | 操女人的逼逼 | 国产精品无码AV无码国产 | 亚洲成人免费网站 | 午夜爱爱影院 | 亚洲欧美日韩系列 | 成人在线观看网 | 欧美成人a视频 | 伊人999| 波多野结衣视频免费在线观看 | 午夜一区二区三区四区 | 国产一级片精品 |