spring boot yml 文件的新的配置@value无法读取
问题:在一个工具类中,通过@Value来映射配置文件的值,得到的总是null
原因:不能用new工具类的方式,应该是用容器注册(@Autowried)的方式使用此工具类,就能得到配置文件里的值
上代码:
工具类:
package com.***.***.utils;import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import system.Decimal;import java.math.BigDecimal;@Component
public class RoundCalculationUtil {@Value("${***.round.calculation}")private String calculationWay;public BigDecimal reCalculateAmount(BigDecimal amount){if(calculationWay.equals("currencyround")){return currencyRound(amount);}else {return round(amount);}}public BigDecimal round(BigDecimal amount) {BigDecimal result = amount.setScale(0, BigDecimal.ROUND_DOWN);BigDecimal lastRound2 = amount.setScale(2, BigDecimal.ROUND_DOWN).subtract(result);if (lastRound2.compareTo(new BigDecimal("0.50")) >= 0) {result = result.add(new BigDecimal("1"));}return result;}public BigDecimal currencyRound(BigDecimal amount){BigDecimal result = amount.setScale(2,BigDecimal.ROUND_DOWN);BigDecimal firstRound4=amount.setScale(4,BigDecimal.ROUND_DOWN);BigDecimal lastRound2=firstRound4.subtract(firstRound4.setScale(2,BigDecimal.ROUND_DOWN));if(lastRound2.compareTo(new BigDecimal("0.0005"))>=0){result=result.add(new BigDecimal("0.01"));}return result;}}
调用的地方
@AutowiredRoundCalculationUtil roundCalculationUtil;@RequestMapping(value = "/roundtest", method = RequestMethod.GET)public ResponseData<String> roundTest(@RequestParam(value = "amount", required = true, defaultValue = "100.1111") BigDecimal amount,@RequestParam(value = "roundcalculation", required = false, defaultValue = "currencyround") String roundcalculation) {try {BigDecimal result=roundCalculationUtil.reCalculateAmount(amount);//BigDecimal result=new RoundCalculationUtil ().reCalculateAmount(amount);//will get null from .properties fileDecimalFormat df = new DecimalFormat("0.00");return new ResponseData(NotificationMsg.SUCCESS, df.format(result));} catch (Exception e) {logger.error(e);return new ResponseData(NotificationMsg.FAILED, e);}}
spring boot yml 文件的新的配置@value无法读取相关推荐
- Spring boot yml文件的书写格式
Spring boot yml文件的书写格式 使用ide 创建好spring boot文件格式后https://blog.csdn.net/weixin_42292697/article/detail ...
- mybatis + spring boot + yml 配置,告别XML
1第一步配置yml文件 2第二部配置Spring boot启动类 3-spring-boot+mybatis动态sql http://blog.csdn.net/zhugeyangyang1994/a ...
- Spring Boot教程(一)注解配置与EhCache使用
2019独角兽企业重金招聘Python工程师标准>>> 快速入门 首先,下载样例工程chapter3-2-2.本例通过spring-data-jpa实现了对User用户表的一些操作, ...
- Spring Boot(一) 自动装配--约定大于配置
欢迎去我的个人博客--晓坞坐坐,里面有很多有趣的文章,不止是技术.www.lixiaodongisme.com 随着spring体系的发展,我们在开发时需要配置整合的东西也越来越多,在进行开发时,繁琐 ...
- spring boot 字体文件等静态资源无法获取
spring boot 字体文件等静态资源无法获取 原因 原因maven打包时会过滤掉一些静态文件 解决办法 在pom.xml文件中配置静态资源过滤,然后再放行静态资源,这样就能让maven识别到那些 ...
- 项目_功能模块_基于Spring Boot的文件上传下载功能的设计与实现
文章目录 基于Spring Boot的文件上传下载功能模块的设计与实现 1.前言 2.技术栈 3.关键源码 4.实现效果 4.1.登录 4.2.文件列表 4.3.上传文件测试 4.3.1.测试图片 4 ...
- yml 文件连接sql数据库配置
yml 文件连接sql数据库配置 spring: datasource: #driver-class-name: com.mysql.cj.jdbc.Driver #驱动注释,采用默认的方式 url: ...
- Spring Boot 2.4 对多环境配置的支持更改
在目前最新的Spring Boot 2.4版本中,对配置的加载机制做了较大的调整.相关的问题最近也被问的比较多,所以今天就花点时间,给大家讲讲Spring Boot 2.4的多环境配置较之前版本有哪些 ...
- Spring Boot Profile使用详解及配置源码解析
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 二师兄 来源 | 程序新视界 在实践的过程中我 ...
最新文章
- iOS开发的库的列表,不完全是开源库
- 第二天2017/03/29: 字符串操作
- Android Studio 运行模拟器时提示 “/dev/kvm device: permission denied”
- 机器学习(十二)朴素贝叶斯分类
- 复述-简历-面试-常见问答整理
- python中如何调用类_python中如何调用类的方法
- java: Internal error in the mapping processor: java.lang.NullPointerException问题解决
- SAP HANA XS 专栏
- JAVA指定区域内截图_Java+Selenium根据元素创建指定区域截图——Element快照
- 5G的前传和回传是什么
- Latex表格排版(三个表格并列、单元格内容自动换行)
- 抖音直播带货数据统计,抖音直播带货复盘必看的4个数据
- 苹果手机输入汉字显示拼音和汉字问题
- iOS-马甲包审核以及常见审核问题
- 容器编排工具—Kubernetes
- 阿里、有道科大讯飞齐为荣耀Magic2打call,透露YOYO想不到的技能
- B站收藏 6.1w !GitHub 标星 3.9k !这门神课拯救了我薄弱的计算机基础
- VC++创建个性的对话框之MFC篇(转)
- leetcode系列--680.验证回文字符串 Ⅱ
- 硬盘故障案例分享——硬盘丢失及容量丢失
热门文章
- 华为无线WiFi配置802.1x认证
- 2017年11场下半年热门电子商务相关会议电商峰会合集
- 【 ASUS ac-1200刷openwrt】
- Unity人工智能AI编程知识
- webgame 转(一篇炮哄非处女的狂文)<3>
- 详细聊TTL电平、RS232接口和RS485接口
- CentOS美化大法(compiz+amd-driver)
- 辽宁计算机高职院校有哪些,2019年辽宁省内高职院校有哪些(高职院校一览表)...
- 删除排序数组的重复项
- 实践与分享:可激活Windows 7旗舰版、专业版、家庭高级版、家庭普通版的“Retail Key”...