2019独角兽企业重金招聘Python工程师标准>>>

相信很多人选择Spring Boot主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。我们在Spring Boot使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在pom.xml中引入模块化的Starter POMs,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在application.properties中完成一些属性配置就能开启各模块的应用。

在之前的各篇文章中都有提及关于application.properties的使用,主要用来配置数据库连接、日志相关配置等。除了这些配置内容之外,本文将具体介绍一些在application.properties配置中的其他特性和使用方法。

自定义属性与加载

我们在使用Spring Boot的时候,通常也需要定义一些自己使用的属性,我们可以如下方式直接定义:

com.didispace.blog.name=程序猿DD
com.didispace.blog.title=Spring Boot教程  

然后通过@Value("${属性名}")注解来加载对应的配置属性,具体如下:

@Component
public class BlogProperties {  @Value("${com.didispace.blog.name}")  private String name;  @Value("${com.didispace.blog.title}")  private String title;  // 省略getter和setter  }  

按照惯例,通过单元测试来验证BlogProperties中的属性是否已经根据配置文件加载了。

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(Application.class)
public class ApplicationTests {  @Autowired  private BlogProperties blogProperties;  @Test  public void getHello() throws Exception {  Assert.assertEquals(blogProperties.getName(), "程序猿DD");  Assert.assertEquals(blogProperties.getTitle(), "Spring Boot教程");  }  }

参数间的引用

application.properties中的各个参数之间也可以直接引用来使用,就像下面的设置:

com.didispace.blog.name=程序猿DD
com.didispace.blog.title=Spring Boot教程
com.didispace.blog.desc=${com.didispace.blog.name}正在努力写《${com.didispace.blog.title}》  

com.didispace.blog.desc参数引用了上文中定义的nametitle属性,最后该属性的值就是程序猿DD正在努力写《Spring Boot教程》

使用随机数

在一些情况下,有些参数我们需要希望它不是一个固定的值,比如密钥、服务端口等。Spring Boot的属性配置文件中可以通过${random}来产生int值、long值或者string字符串,来支持属性的随机值。

# 随机字符串
com.didispace.blog.value=${random.value}
# 随机int
com.didispace.blog.number=${random.int}
# 随机long
com.didispace.blog.bignumber=${random.long}
# 10以内的随机数
com.didispace.blog.test1=${random.int(10)}
# 10-20的随机数
com.didispace.blog.test2=${random.int[10,20]}  

代码来源

转载于:https://my.oschina.net/u/3873725/blog/1824353

Spring Cloud Spring Boot mybatis分布式微服务云架构(三)属性配置文件详解(1)相关推荐

  1. Spring Cloud Spring Boot mybatis分布式微服务云架构(一)快速入门

    2019独角兽企业重金招聘Python工程师标准>>> 快速入门 本章主要目标完成Spring Boot基础项目的构建,并且实现一个简单的Http请求处理,通过这个例子对Spring ...

  2. Spring Cloud Spring Boot mybatis分布式微服务云架构(五)构建RESTful API

    2019独角兽企业重金招聘Python工程师标准>>> 首先,回顾并详细说明一下在快速入门中使用的@Controller.@RestController.@RequestMappin ...

  3. spring cloud + spring boot + springmvc+mybatis分布式微服务云架构

    做一个微服务架构需要的技术整理: View: H5.Vue.js.Spring Tag.React.angularJs Spring Boot/Spring Cloud: Zuul.Ribbon.Fe ...

  4. SpringCloud SpringBoot mybatis分布式微服务云架构开发Web应用

    静态资源访问 在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /s ...

  5. SpringCloudSpringBootmybatis分布式微服务云架构-hystrix参数详解

    简介 上节我们讨论了hystrix+feign+ribbon,但是可能很多人都知道hystrix还有线程隔离,信号量隔离,等等各种参数配置,在这几就记录下hystrix的参数, 一.hystrix参数 ...

  6. Spring Cloud分布式微服务云架构—源码结构图

    分布式.微服务.云架构 JAVA语言开发.跨平台.高性能.高可用.安全.服务化.模块化.组件化.驱动式开发模式 源码结构 JAVA开发.maven模块化构建.服务独立打包.分布式部署.持续集成.版本控 ...

  7. 艾艾贴关于Spring Cloud大型互联网分布式企业微服务云架构

    第一篇文章简单给大家介绍了Spring Cloud架构,我这边结合了当前大部分企业的通用需求,包括技术的选型比较严格.苛刻,不仅要用业界最流行的技术,还要和国际接轨,在未来的5~10年内不能out.作 ...

  8. 运行截图之SpringCloud企业分布式微服务云架构快速开发平台源码

    鸿鹄云架构系统管理平台是一个大型企业.分布式.微服务.云架构的JavaEE体系快速研发平台,基于模块化.微服务化.原子化.热部署的设计思想,使用成熟领先的无商业限制的主流开源技术(Spring Clo ...

  9. SpringCloud企业分布式微服务云架构快速开发平台源码之运行截图

    鸿鹄云架构系统管理平台是一个大型企业.分布式.微服务.云架构的JavaEE体系快速研发平台,基于模块化.微服务化.原子化.热部署的设计思想,使用成熟领先的无商业限制的主流开源技术(Spring Clo ...

最新文章

  1. Linux Shell简介
  2. C++实现CString和string的互相转换
  3. 我长了一条日本制的尾巴:智能配合身体运动,增强平衡感,把我变成“改造人”| SIGGRAPH...
  4. Codeforces 235C Cyclical Quest (后缀自动机)
  5. 通往奥格瑞玛的道路(洛谷 1462)
  6. C语言中的枚举和联合体
  7. ubuntu qt linux 下载文件,Qt ------ linux(ubuntu) 下用 linuxdeployqt 打包发布程序
  8. hihocoder1477 闰秒
  9. Opencv数据符号说明
  10. 购物网站php模版,运动服装购物网站模板
  11. 电商是真的难做了吗?
  12. win7查看硬盘序列号
  13. 保存网页为图片——滚动截取IE(WebBrowse)
  14. MATLAB中绘制椭圆
  15. Python期末考试编程题
  16. imagemagick使用_使用ImageMagick裁剪和调整图像大小
  17. 在线数据迁移,数字化时代的必修课——京东云数据迁移实践
  18. Polaris Office for Mac(经典办公套件)
  19. GEE:LST地表温度反演函数(针对Landsat8的T1影像和T1_L2影像集合)
  20. 美柚如何精准引流?怎么通过美柚引流?美柚引流技巧

热门文章

  1. js根据身份证号码判断性别和年龄
  2. ecshop将编辑器更换为kindeditor
  3. Mac搭建Git服务器—开启SSH
  4. 好程序员web前端教程分享JavaScript验证API
  5. 浅谈CSS重构样式表性能
  6. maven 插件之 AutoConfig 工具使用笔记
  7. 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning
  8. 字符设备之register_chrdev与register_chrdev_region
  9. boost之Boost.Foreach遍历
  10. session.invalidate()