1、编写配置文件

  1. #债权转让
  2. #默认周期 必须大于0
  3. credit.defaultDuration=1
  4. #最小转让金额(元)
  5. credit.minBidAmount=1.00
  6. #最小转让时间 到期时间小于此的不让进行转让(小时)
  7. credit.assignThreshold=24
  8. #最小折让率(%)
  9. credit.minDiscountRate=70
  10. #最大折让率(%)
  11. credit.maxDiscountRate=110
2、配置 spring 
  1. <!-- 配置参数 -->
  2. <bean id="configProperties"
  3. class="org.springframework.beans.factory.config.PropertiesFactoryBean">
  4. <property name="locations">
  5. <value>file:${config.root}/admin-config.properties</value>
  6. </property>
  7. </bean>
  8. <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
  9. <property name="properties" ref="configProperties" />
  10. </bean>
3、编写 Java类
可以 注入 静态属性 ,方法 要非静态
  1. package com.netfinworks.fax.admin.web.config;
  2. import org.slf4j.Logger;
  3. import org.slf4j.LoggerFactory;
  4. import org.springframework.beans.factory.annotation.Value;
  5. import org.springframework.stereotype.Component;
  6. import com.netfinworks.common.util.money.Money;
  7. /**
  8. * <p>
  9. * 常量配置
  10. *</p>
  11. * @author weichunhe
  12. * @version $Id: Constant.java, v 0.1 2015年5月28日 下午5:14:22 weichunhe Exp $
  13. */
  14. @Component
  15. public class Constant {
  16. private Logger log = LoggerFactory.getLogger(getClass());
  17. private static final String LOG_PREFIX = "从配置文件中注入常量==>";
  18. /**
  19. * 债权转让 默认周期 周期必须大于0
  20. */
  21. private static int defaultDuration=1;
  22. @Value("#{configProperties['credit.defaultDuration']}")
  23. public void setDefaultDuration(String defaultDuration) {
  24. try {
  25. Constant.defaultDuration = Integer.valueOf(defaultDuration);
  26. } catch (Exception e) {
  27. log.error(LOG_PREFIX+"注入默认周期出错!"+defaultDuration,e);
  28. }
  29. }
  30. /**
  31. * 债权转让 最小转让时间 到期时间小于此的不让进行转让(毫秒)
  32. */
  33. private static long assignThreshold = 24*60*60*1000;
  34. @Value("#{configProperties['credit.assignThreshold']}")
  35. public void setAssignThreshold(String assignThreshold) {
  36. try {
  37. Constant.assignThreshold = Long.valueOf(assignThreshold) * 60 * 60 *1000L;
  38. } catch (Exception e) {
  39. log.error(LOG_PREFIX+"注入 最小转让时间出错!"+assignThreshold,e);
  40. }
  41. }
  42. /**
  43. * 债权转让 最小转让金额(元)
  44. */
  45. private static Money minBidAmount ;
  46. @Value("#{configProperties['credit.minBidAmount']}")
  47. public void setMinBidAmount(Money minBidAmount) {
  48. Constant.minBidAmount = minBidAmount;
  49. }
  50. /**
  51. * 债权转让最小折让率(%)
  52. */
  53. private static int minDiscountRate = 0;
  54. @Value("#{configProperties['credit.minDiscountRate']}")
  55. public void setMinDiscountRate(String minDiscountRate) {
  56. try {
  57. Constant.minDiscountRate =Integer.valueOf(minDiscountRate);
  58. } catch (Exception e) {
  59. log.error(LOG_PREFIX+"注入最小折让率出错!"+minDiscountRate,e);
  60. }
  61. }
  62. /**
  63. * 债权转让最大折让率(%)
  64. */
  65. private static int maxDiscountRate = 110;
  66. @Value("#{configProperties['credit.maxDiscountRate']}")
  67. public void setMaxDiscountRate(String maxDiscountRate) {
  68. try {
  69. Constant.maxDiscountRate =Integer.valueOf(maxDiscountRate);
  70. } catch (Exception e) {
  71. log.error(LOG_PREFIX+"注入最大折让率出错!"+maxDiscountRate,e);
  72. }
  73. }
  74. public static int getMinDiscountRate() {
  75. return minDiscountRate;
  76. }
  77. public static int getMaxDiscountRate() {
  78. return maxDiscountRate;
  79. }
  80. public static long getAssignThreshold() {
  81. return assignThreshold;
  82. }
  83. public static Money getMinBidAmount() {
  84. return minBidAmount;
  85. }
  86. public static int getDefaultDuration() {
  87. return defaultDuration;
  88. }
  89. }
4、使用 
  1. model.put("defaultDuration", Constant.getDefaultDuration());
  2. model.put("minDiscountRate", Constant.getMinDiscountRate());
  3. model.put("maxDiscountRate", Constant.getMaxDiscountRate());

spring 将配置文件中的值注入 属性的更多相关文章

  1. 将springboot配置文件中的值注入到静态变量

    SpringBoot配置文件分为.properties和.yml两种格式,根据启动环境的不同获取不同环境的的值. spring中不支持直接注入静态变量值,利用spring的set注入方法注入静态变量 ...

  2. springboot属性类自动加载配置文件中的值

    springboot属性类自动加载配置文件中的值,如Person类加载在yml中配置的name,age等属性值,可以通过如下步骤获取: 类上添加@ConfigurationProperties注解,p ...

  3. struts2配置文件中action的name属性

    struts2配置文件中action的name属性的第一个字符不要加斜杠 <action name="see" class="baoxiuManage_seeAct ...

  4. ThinkPHP 获取配置文件中的值

    C('SPECIAL_USER'):获取配置文件中的值 存入数组

  5. spring读取classpath目录下的配置文件通过表达式去注入属性值.txt

    spring读取配置文件: 1. spring加载配置文件: <context:property-placeholder location="classpath:config/syst ...

  6. 配置文件中取值: spring配置文件中util:properties和context:property-placeholder

    转载大神 https://blog.csdn.net/n447194252/article/details/77498916 util:properties和context:property-plac ...

  7. spring 3配置文件中如何注入map list set等类型

    首先写个 javabean类吧,如下 package com.bean; import java.util.List; import java.util.Map; import java.util.P ...

  8. 日志配置文件读取spring boot配置文件中的属性

    如果是读取 application.properties 这种spring boot的默认配置文件时 其中 scope固定为context  指明从上下文中获取, name 根据自己的意思给, sou ...

  9. Spring根据XML配置文件 p名称空间注入属性(property后出现,简便但只针对基本数据类型管用,自定义集合等引用类型无效)

    要生成对象并通过名称空间注入属性的类 代码如下: package com.swift; public class User { private String userName; public void ...

随机推荐

  1. Servlet通过JavaBean传值到JSP页面

    主要通过Attribute进行传递,主要代码如下: 赋值,并定义跳转的页面: request.setAttribute("user", user); request.getRequ ...

  2. 串口调试助手---VB源码

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/ ...

  3. [Vue @Component] Pass Props Between Components with Vue Slot Scope & renderless component

    Components with slots can expose their data by passing it into the slot and exposing the data using  ...

  4. excel 补全全部空格

    首先全选列或者选中某列,按F5键.再按"定位条件„"button,选择空值,这样就把全部列的空格选中了,然后直接输入"你想要替换的值",再按Ctrl + 回车

  5. 好纠结啊,JEECG 商业版本号和开源版本号有什么差别呢?

    好纠结啊.JEECG 商业版本号和开源版本号有什么差别呢? 2014-12-18 jeecg JEECG tp=webp" style="width: 698px;" a ...

  6. Unicode不可见字符的显示

    Unicode的学名是”Universal Multiple-Octet Coded Character Set”,简称为UCS 不可见字符”/u200b”为 Unicode Character ‘Z ...

  7. 一个人开发的.Net版轻量级博客,欢迎吐槽,互相学习!

    项目架构采用:Asp.Net MVC4.0 + EntityFramework6.0 code first + AutoMapper + Unity(IOC) + SqlServer2012 项目地址 ...

  8. 软考-系统开发与软件project

    关于软件project方面的知识,相信大家都不陌生,软考中这部分知识也是重点考察范围,关于软件project的知识点很的琐碎.我把这部分的知识点分成了五部分,各自是软件project的基础知识.开发管 ...

  9. 软件project—思考项目开发那些事(一)

    阅读文件夹: 1.背景 2.项目管理,质量.度量.进度 3.软件开发是一种设计活动而不是建筑活动 4.高速开发(简单的系统结构与复杂的业务模型) 5.技术人员的业务理解与产品经理的业务理解的终于业务模 ...

  10. 143 - ZOJ Monthly, October 2015 I Prime Query 线段树

    Prime Query Time Limit: 1 Second      Memory Limit: 196608 KB You are given a simple task. Given a s ...