内容简介:由于平常项目开发会有多个环境,每个环境的配置一般来说都是不一样的,在这种情况下,我们就需要提供多个配置文件。现在我们来建立三个配置文件:application-dev.yml,application-test.yml,application-prod.yml。在这三个配置文件里我们分别写上不同的配置:dev:test:
前一篇博客中介绍了spring boot的基础知识以及如何搭建最简单的spring boot项目,现在我们来讲一下spring boot的配置文件使用方法。
我们新建完spring boot项目后会发现在resources目录下会有一个application.properties的配置文件,spring boot启动时会默认读取这个配置文件里面的内容,因此文件名时不可以随便乱改的。但这里我推荐大家使用yml格式的配置文件,使用起来比较简洁方便。因此这里我就把原来的.properties文件换成了.yml的配置文件,但要注意yml文件是有严格的格式规范的,要注意空格和缩进的使用。
一、多环境配置
由于平常项目开发会有多个环境,每个环境的配置一般来说都是不一样的,在这种情况下,我们就需要提供多个配置文件。现在我们来建立三个配置文件:application-dev.yml,application-test.yml,application-prod.yml。在这三个配置文件里我们分别写上不同的配置:
dev:
server:
port: 8080
test:
server:
port: 8081
prod:
server:
port: 8082
此配置指的就是项目启动时候的端口号,不写的话默认是8080,我们这里三个环境设置了不同的端口号。那现在问题来了,我们如何读取不同的配置文件呢。
很简单,我们在application.yml中加上:
spring:
profiles:
active: prod
即可,这样读取的就是prod的配置,改成test则是test的配置。现在我们启动一下试试。然后我们访问localhost:8082,请求成功。
但这样又会有一个疑问,我们各个环境的配置文件是区分了,但我们难道每个环境的application.yml文件还得不一样么?这里就要说到spring boot的另一个启动方式了,spring boot除了我们目前使用的通过main方法启动之外,还可以通过jar包的方式去启动。首先我们将项目打jar包。在项目根目录下执行maven打包命令,这里我们跳过测试:
mvn install -DskipTests
然后在target目录下能看到我们打的jar包,在这个目录下我们执行:
java -jar XXX.jar --spring.profiles.active=test
然后我们再访问localhost:8081,同样请求成功。
注意我们这里的文件命名规范,都是application-xxx.yml,否则会读取不到对应的配置文件。
当然有人可能觉得我们可以通过命令行来修改运行参数不安全,那这里可以下面这句话就可以屏蔽命令行里面传入的参数:
SpringApplication.setAddCommandLineProperties(false)。
二、自定义属性
我们开发的时候会出现需要一些自定义的属性的情况,这时候我们可以将配置的属性也写进我们的配置文件里,这里我们配置上如下属性:
leafw:
user: 1001
sex: 18
那我们怎样获取属性呢,只需要在属性上面加上注解@Value("${属性名}"):
@Value("{user.code}") private String code; @Value("{user.age}")
private String age;
然后加一个请求的方法:
@GetMapping("/")
public String index(){
return "Spring Boot";
}
访问http://localhost:8080/getUser,如图:
同时这里的参数之间是可以互相引用的,如
user:
code: 1001
age: 18
desc: {user.code}的年龄是{user.age}
然后再上述方法中补充下属性配置,请求结果如下:
待续。。。
以上所述就是小编给大家介绍的《Spring Boot 学习笔记(二)—— Spring Boot常见配置》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Hive学习之常见属性配置
- Nginx 内容缓存及常见参数配置
- 一个常见需求的nginx配置踩雷
- SWAP 常见问题分析和性能调优配置实践小结
- SWAP 常见问题分析和性能调优配置实践小结
- lnmp配置laravel/thinkphp时出现no input file specified的常见问题
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
How to Build a Billion Dollar App
George Berkowski / Little, Brown Book Group / 2015-4-1 / USD 24.95
Apps have changed the way we communicate, shop, play, interact and travel and their phenomenal popularity has presented possibly the biggest business opportunity in history. In How to Build a Billi......一起来看看 《How to Build a Billion Dollar App》 这本书的介绍吧!
在线进制转换器
各进制数互转换器
HEX CMYK 转换工具
HEX CMYK 互转工具