Spring Cloud Spring Boot mybatis分布式微服务云架构(三)属性配置文件详解(1)
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
参数引用了上文中定义的name
和title
属性,最后该属性的值就是程序猿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)相关推荐
- Spring Cloud Spring Boot mybatis分布式微服务云架构(一)快速入门
2019独角兽企业重金招聘Python工程师标准>>> 快速入门 本章主要目标完成Spring Boot基础项目的构建,并且实现一个简单的Http请求处理,通过这个例子对Spring ...
- Spring Cloud Spring Boot mybatis分布式微服务云架构(五)构建RESTful API
2019独角兽企业重金招聘Python工程师标准>>> 首先,回顾并详细说明一下在快速入门中使用的@Controller.@RestController.@RequestMappin ...
- spring cloud + spring boot + springmvc+mybatis分布式微服务云架构
做一个微服务架构需要的技术整理: View: H5.Vue.js.Spring Tag.React.angularJs Spring Boot/Spring Cloud: Zuul.Ribbon.Fe ...
- SpringCloud SpringBoot mybatis分布式微服务云架构开发Web应用
静态资源访问 在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /s ...
- SpringCloudSpringBootmybatis分布式微服务云架构-hystrix参数详解
简介 上节我们讨论了hystrix+feign+ribbon,但是可能很多人都知道hystrix还有线程隔离,信号量隔离,等等各种参数配置,在这几就记录下hystrix的参数, 一.hystrix参数 ...
- Spring Cloud分布式微服务云架构—源码结构图
分布式.微服务.云架构 JAVA语言开发.跨平台.高性能.高可用.安全.服务化.模块化.组件化.驱动式开发模式 源码结构 JAVA开发.maven模块化构建.服务独立打包.分布式部署.持续集成.版本控 ...
- 艾艾贴关于Spring Cloud大型互联网分布式企业微服务云架构
第一篇文章简单给大家介绍了Spring Cloud架构,我这边结合了当前大部分企业的通用需求,包括技术的选型比较严格.苛刻,不仅要用业界最流行的技术,还要和国际接轨,在未来的5~10年内不能out.作 ...
- 运行截图之SpringCloud企业分布式微服务云架构快速开发平台源码
鸿鹄云架构系统管理平台是一个大型企业.分布式.微服务.云架构的JavaEE体系快速研发平台,基于模块化.微服务化.原子化.热部署的设计思想,使用成熟领先的无商业限制的主流开源技术(Spring Clo ...
- SpringCloud企业分布式微服务云架构快速开发平台源码之运行截图
鸿鹄云架构系统管理平台是一个大型企业.分布式.微服务.云架构的JavaEE体系快速研发平台,基于模块化.微服务化.原子化.热部署的设计思想,使用成熟领先的无商业限制的主流开源技术(Spring Clo ...
最新文章
- Linux Shell简介
- C++实现CString和string的互相转换
- 我长了一条日本制的尾巴:智能配合身体运动,增强平衡感,把我变成“改造人”| SIGGRAPH...
- Codeforces 235C Cyclical Quest (后缀自动机)
- 通往奥格瑞玛的道路(洛谷 1462)
- C语言中的枚举和联合体
- ubuntu qt linux 下载文件,Qt ------ linux(ubuntu) 下用 linuxdeployqt 打包发布程序
- hihocoder1477 闰秒
- Opencv数据符号说明
- 购物网站php模版,运动服装购物网站模板
- 电商是真的难做了吗?
- win7查看硬盘序列号
- 保存网页为图片——滚动截取IE(WebBrowse)
- MATLAB中绘制椭圆
- Python期末考试编程题
- imagemagick使用_使用ImageMagick裁剪和调整图像大小
- 在线数据迁移,数字化时代的必修课——京东云数据迁移实践
- Polaris Office for Mac(经典办公套件)
- GEE:LST地表温度反演函数(针对Landsat8的T1影像和T1_L2影像集合)
- 美柚如何精准引流?怎么通过美柚引流?美柚引流技巧
热门文章
- js根据身份证号码判断性别和年龄
- ecshop将编辑器更换为kindeditor
- Mac搭建Git服务器—开启SSH
- 好程序员web前端教程分享JavaScript验证API
- 浅谈CSS重构样式表性能
- maven 插件之 AutoConfig 工具使用笔记
- 论文笔记之:Action-Decision Networks for Visual Tracking with Deep Reinforcement Learning
- 字符设备之register_chrdev与register_chrdev_region
- boost之Boost.Foreach遍历
- session.invalidate()