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. Mysql中Group By使用Having语句配合查询(where和having区别)

    注意 : having语句一般结合GROUP BY一起使用的..... Having短语与WHERE的区别!!! WHERE子句作用于基表或视图,从中选择满足条件的元组.HAVING短语作用于组,从中 ...

  2. - > 贪心基础入门讲解五——任务执行顺序

    分析: 本题可以抽象成,从一个整数开始,每次减去a,再加上b (a,b都是正数),要求每次操作都不产生负数. 针对本题a[i] = R[i], b[i] = R[i] – O[i],注意O[i] &l ...

  3. mysql limit具体用法

    MYSQL中LIMIT用法_百度知道 答 limit是mysql的语法select * from table limit m,n其中m是指记录开始的index,从0开始,表示第一条记录n是指从第m+1 ...

  4. Redis: 改变HomeBrew安装的数据库文件目录

    vi /usr/local/etc/redis.conf 修改dir "/Volumes/KG's Big YO/Documents/redis_data" 最后,启动Redis: ...

  5. 如何修改ICO文件的尺寸

    使用Axialis IconWorkshop,该软件下载地址: http://www.xiazaiba.com/html/161.html 尺寸过大的ICO将无法作为应用程序的图标,如下图所示,这些素 ...

  6. 调试JDK源代码-一步一步看HashMap怎么Hash和扩容

    调试JDK源代码-一步一步看HashMap怎么Hash和扩容 调试JDK源代码-ConcurrentHashMap实现原理 调试JDK源代码-HashSet实现原理 调试JDK源代码-调试JDK源代码 ...

  7. __weak与__block区别分析

    API Reference对__block变量修饰符有如下几处解释: //A powerful feature of blocks is that they can modify variables ...

  8. 设计模式之五:工厂方法模式(Factory Method)

    工厂方法模式:定义了一个创建对象的接口,由子类来决定详细实例化那个对象.工厂方法模式让类的实例化转移到子类中来推断. Define an interface for creating an objec ...

  9. LeetCode 290. Word Pattern (词语模式)

    Given a pattern and a string str, find if str follows the same pattern. Here follow means a full mat ...

  10. 箭头函数的 this

    在非严格模式下,匿名函数和定时器中的 this 由于没有默认的宿主对象,因此指向 window: 而在严格模式下,匿名函数和定时器中的 this 由于没有默认的宿主对象,因此为 undefined. ...