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

歡迎訪問 生活随笔!

生活随笔

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

javascript

Spring属性占位符配置器–一些不太明显的选项

發(fā)布時間:2023/12/3 javascript 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring属性占位符配置器–一些不太明显的选项 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Spring的PropertySourcesPlaceholderConfigurer用于從XML或Java Config中定義的Spring bean定義外部化屬性。 PlaceholderConfigurer支持的一些選項在文檔中并不明顯,但是很有趣并且可能有用。

首先,以Spring文檔中的示例為例,考慮一個屬性文件,其中包含用于配置數(shù)據(jù)源的信息:

jdbc.driverClassName=org.hsqldb.jdbcDriver jdbc.url=jdbc:hsqldb:hsql://production:9002 jdbc.username=sa jdbc.password=root

使用自定義名稱空間配置PropertySourcesPlaceholderConfigurer:

<context:property-placeholder location='database.properties'/>

可以通過以下方式使用基于XML的bean定義來定義利用這些屬性的數(shù)據(jù)源bean:

<bean id='dataSource' destroy-method='close'class='org.apache.commons.dbcp.BasicDataSource'><property name='driverClassName' value='${jdbc.driverClassName}'/><property name='url' value='${jdbc.url}'/><property name='username' value='${jdbc.username}'/><property name='password' value='${jdbc.password}'/> </bean>

并以這種方式使用基于Java的配置:

@Value('${jdbc.driverClassName}') private String driverClassName; @Value('${jdbc.url}') private String dbUrl; @Value('${jdbc.username}') private String dbUserName; @Value('${jdbc.password}') private String dbPassword;@Bean public BasicDataSource dataSource() {BasicDataSource dataSource = new BasicDataSource();dataSource.setDriverClassName(driverClassName);dataSource.setUrl(dbUrl);dataSource.setUsername(dbUserName);dataSource.setPassword(dbPassword);return dataSource; }

不太明顯的選項是:

首先是對默認值的支持。 例如,如果要為jdbc用戶名默認提供“ sa”,則使用這種方法(使用$ {propertyName:default}語法):

<property name='username' value='${jdbc.username:sa}'/>

或使用Java Config:

.. .. @Value('${jdbc.username:sa}') private String dbUserName;@Bean public BasicDataSource dataSource() { .. }

其次是對嵌套屬性解析的支持,例如考慮以下屬性:

phase.properties文件–

phase=qa jdbc.username.qa=qasa jdbc.username.dev=devsa

并以這種嵌套方式將'phase'屬性用作XML bean定義中另一個屬性的一部分:

<property name='username' value='${jdbc.username.${phase}}'/>

這些選項對于基于占位符的配置可能非常有用。

參考: Spring Property占位符配置器– all和雜物博客中,我們的JCG合作伙伴 Biju Kunjummen提供了一些不太明顯的選擇 。

翻譯自: https://www.javacodegeeks.com/2013/01/spring-property-placeholder-configurer-a-few-not-so-obvious-options.html

總結(jié)

以上是生活随笔為你收集整理的Spring属性占位符配置器–一些不太明显的选项的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。