电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java 獲取properties的幾種方式

瀏覽:122日期:2022-08-14 10:17:54

spring下獲取Properties方式

比如已有的commonConfig.properties

main.db.driverClassName=com.mysql.jdbc.Drivermain.db.url=jdbc:mysql://cloudpkdbrw.xxx.com:3306/huagang?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNullmain.db.username=huagangmain.db.password=xxxHGtest

在spring中引用commonConfig.properties

第1種:直接在spring的xml中使用

<!-- 加載配置文件 --> <bean class='org.springframework.beans.factory.config.PropertyPlaceholderConfigurer'><property name='location'> <value>classpath:/resources/config/commonConfig.properties</value></property> </bean> <!--或者 引入多配置文件 <context:property-placeholder location='classpath:/resources/config/commonConfig.properties,classpath:XXX.properties'/> --> <!-- 配置數據源 --> <bean destroy-method='close'><!--驅動類 --><property name='driverClass'> <value>${main.db.driverClassName}</value></property><!--url連接串 --><property name='jdbcUrl'> <value>${main.db.url}</value></property><!--用戶名 --><property name='user'> <value>${main.db.username}</value></property><!--密碼 --><property name='password'> <value>${main.db.password}</value></property><!-- 連接池中保留的最小連接數 最小鏈接數 --><property name='minPoolSize'> <value>1</value></property><!--連接池中保留的最大連接數 最大連接數 --><property name='maxPoolSize'> <value>4</value></property><!-- 最大空閑的時間,單位是秒,無用的鏈接再過時后會被回收 --><property name='maxIdleTime'> <value>1800</value></property><!-- 在當前連接數耗盡的時候,一次獲取的新的連接數 --><property name='acquireIncrement'> <value>1</value></property><!--JDBC的標準參數,用以控制數據源內加載的PreparedStatements數量。但由于預緩存的statements 屬于單個connection而不是整個連接池。所以設置這個參數需要考慮到多方面的因素。 如果maxStatements與maxStatementsPerConnection均為0,則緩存被關閉。Default: 0--><property name='maxStatements'> <value>0</value></property><!-- 連接池初始化時獲取的鏈接數,介于minPoolSize和maxPoolSize之間 --><property name='initialPoolSize'> <value>1</value></property><!--每1分鐘檢查所有連接池中的空閑連接。Default: 0 --><property name='idleConnectionTestPeriod'> <value>60</value></property><!--定義在從數據庫獲取新連接失敗后重復嘗試的次數。Default: 30 --><property name='acquireRetryAttempts'> <value>30</value></property><!-- #每100ms嘗試一次 --><property name='acquireRetryDelay'> <value>100</value></property><!--獲取連接失敗將會引起所有等待連接池來獲取連接的線程拋出異常。但是數據源仍有效 保留,并在下次調用getConnection()的時候繼續嘗試獲取連接。如果設為true,那么在嘗試 獲取連接失敗后該數據源將申明已斷開并永久關閉。Default: false --><property name='breakAfterAcquireFailure'> <value>false</value></property><!-- 防止長時間閑置而導致被mysql斷開 因性能消耗大請只在需要的時候使用它。如果設為true那么在每個connection提交的 時候都將校驗其有效性。建議使用idleConnectionTestPeriod或automaticTestTable 等方法來提升連接測試的性能。Default: false --><property name='testConnectionOnCheckout'> <value>false</value></property><!--如果設為true那么在取得連接的同時將校驗連接的有效性。Default: false --> <property name='testConnectionOnCheckin'> <value>true</value></property><!--定義所有連接測試都執行的測試語句。在使用連接測試的情況下這個一顯著提高測試速度。注意: 測試的表必須在初始數據源的時候就存在。Default: null--><property name='preferredTestQuery'> <value>select 1 from dual</value></property> </bean>第2種:在java 啟動加Conifg庫中或者在controller中調用

import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class Config {@Value('${main.db.url}') public String jdbcUrl; }

controller

@RequestMapping('/service/**') @Controller public class TestController{ @Value('${main.db.url}') private String jdbcUrl; //直接在Controller引用 @RequestMapping(value={'/test'}) public ModelMap test(ModelMap modelMap) { modelMap.put('jdbcUrl', Config.jdbcUrl);return modelMap; } }第3種:不要在spring.xml中引用commonConfig.properties,在類注入時引用,然后使用Environment獲取它的值

import org.apache.commons.lang3.tuple.Pair;import org.redisson.Config;import org.redisson.Redisson;import org.redisson.SentinelServersConfig;import org.redisson.SingleServerConfig;import org.redisson.client.RedisClient;import org.redisson.client.RedisConnection;import org.redisson.client.protocol.RedisCommands;import org.redisson.codec.SerializationCodec;import org.redisson.misc.URIBuilder;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.PropertySource;import org.springframework.core.env.Environment;@Configuration@PropertySource( 'classpath:resources/config/commonConfig.properties' ) public class RedissonConfig {@Autowired private Environment env; @Bean public SerializationCodec serializationCodec() {return new SerializationCodec(); } @Bean public Config reddissonConfig() throws Exception { String jdbcUrl= env.getProperty('main.db.url');} //此為代碼片段第4種:不需要借用spring,直接在類中讀取.但要注意:(redisson.properties配置文件中不能有.句號),否則將報錯

import java.util.ResourceBundle;public class RedissionParamsUtil {/** 配置文件地址 */ private final String configPath = 'resources/config/redisson.properties'; private static RedissionParamsUtil paramsUtil;ResourceBundle bundle = null;/** * 單例模式獲取實例 * @return MenuService */ public static RedissionParamsUtil getInstance(){if(null==paramsUtil){ paramsUtil = new RedissionParamsUtil();}return paramsUtil; } /** * 構造方法 */ private RedissionParamsUtil(){ bundle = ResourceBundle.getBundle(configPath); } public String getValue(String key){ return bundle.getString(key); } public static void main(String[] args) {System.out.println(RedissionParamsUtil.getInstance().getValue('jdbc_url')); } }

以上就是Java 獲取properties的幾種方式的詳細內容,更多關于Java 獲取properties的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 德州万泰装饰 - 万泰装饰装修设计软装家居馆 | 上海小程序开发-上海小程序制作公司-上海网站建设-公众号开发运营-软件外包公司-咏熠科技 | IWIS链条代理-ALPS耦合透镜-硅烷预处理剂-上海顶楚电子有限公司 lcd条形屏-液晶长条屏-户外广告屏-条形智能显示屏-深圳市条形智能电子有限公司 | 气动隔膜阀_气动隔膜阀厂家_卫生级隔膜阀价格_浙江浙控阀门有限公司 | 网站建设,北京网站建设,北京网站建设公司,网站系统开发,北京网站制作公司,响应式网站,做网站公司,海淀做网站,朝阳做网站,昌平做网站,建站公司 | 南京泽朗生物科技有限公司 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 全国冰箱|空调|洗衣机|热水器|燃气灶维修服务平台-百修家电 | 新疆乌鲁木齐网站建设-乌鲁木齐网站制作设计-新疆远璨网络 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 合肥花魁情感婚姻咨询中心_挽回爱情_修复婚姻_恋爱指南 | 专业深孔加工_东莞深孔钻加工_东莞深孔钻_东莞深孔加工_模具深孔钻加工厂-东莞市超耀实业有限公司 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | 氨水-液氨-工业氨水-氨水生产厂家-辽宁顺程化工 | 三防漆–水性三防漆–水性浸渍漆–贝塔三防漆厂家 | 专业的新乡振动筛厂家-振动筛品质保障-环保振动筛价格—新乡市德科筛分机械有限公司 | 对辊破碎机-液压双辊式,强力双齿辊,四辊破碎机价格_巩义市金联机械设备生产厂家 | 金库门,金库房,金库门厂家,金库门价格-河北特旺柜业有限公司 | 涿州网站建设_网站设计_网站制作_做网站_固安良言多米网络公司 | 咖啡加盟-咖啡店加盟-咖啡西餐厅加盟-塞纳左岸咖啡西餐厅官网 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | 全自动包衣机-无菌分装隔离器-浙江迦南科技股份有限公司 | 裹包机|裹膜机|缠膜机|绕膜机-上海晏陵智能设备有限公司 | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 | 注浆压力变送器-高温熔体传感器-矿用压力传感器|ZHYQ朝辉 | 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | 动力配电箱-不锈钢配电箱-高压开关柜-重庆宇轩机电设备有限公司 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 酒精检测棒,数显温湿度计,酒安酒精测试仪,酒精检测仪,呼气式酒精检测仪-郑州欧诺仪器有限公司 | 科威信洗净科技,碳氢清洗机,超声波清洗机,真空碳氢清洗机 | 纸箱抗压机,拉力机,脂肪测定仪,定氮仪-山东德瑞克仪器有限公司 | 芝麻黑-芝麻黑石材厂家-永峰石业 | 广州昊至泉水上乐园设备有限公司 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-沼河浸过滤器 | 实体店商新零售|微赢|波后|波后合作|微赢集团 | 磁力抛光机_磁力研磨机_磁力去毛刺机_精密五金零件抛光设备厂家-冠古科技 | 广州二手电缆线回收,旧电缆回收,广州铜线回收-广东益福电缆线回收公司 | 温州中研白癜风专科_温州治疗白癜风_温州治疗白癜风医院哪家好_温州哪里治疗白癜风 | 合肥汽车充电桩_安徽充电桩_电动交流充电桩厂家_安徽科帝新能源科技有限公司 | 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 |