简介
上篇我们做了一些简单的运行文件的配置,本篇带领大家来认识常用的一些配置,当然了关于Spring Boot 这些配置太多太多了,如果想了解更多的话直接上官网参考一下,了解相关案例如本篇的配置。 application.properties配置官方指南参考。
Spring Boot有以下方式配置
application.properties配置
在 IntelliJ IDEA 开发工具中创建项目的时候,默认的配置文件是application.properties,接下来我们就学习一下然后配置一些我们在开发中经常用到的配置项,进入带领我们揭开Spring Boot 项目的神秘的面纱。
在下面的文档中我会在每个配置中进行注解,这样能更好的了解,当然官方文档有我们所需的全部配置,大家如果项目开发中有需求那么可以进入application.properties配置官方指南参考。
英: Appendix A. Common application properties
1 | Various properties can be specified inside your application.properties file, inside your application.yml file, or as command line switches. |
译: 官方指南者三段话概况了今天我们要讲得内容:
1 | 可以在application.properties文件中,application.yml文件中或命令行开关中指定各种属性。 本附录提供了常用Spring Boot属性的列表以及对使用它们的基础类的引用。 |
所以我们在添加某些配置属性的时候,一定要根据自己的需要来添加,不然有时出错了,不知道哪里找问题。
常用的application.properties配置
一般情况下在src目录下的/main/resource文件夹中新建application.properties
文件,目录结构如下:
1 | |--src |
我们接下来编写一些常用的属性配置,大家在开发中需要到哪些就直接去查看一下:
1 | #启用调试日志。 |
查看常用配置文件application.properties
自定义属性
由于有时为了方便项目的开发维护,我们可能需要到自定义配置属性,接下来我们也来搞一下自定义属性配置。
在application.properties自定义配置属性:
1.application.properties添加:
1 | #-------------------------------- |
2.在DefPropertyController.class引用
1 | @RestController |
- 注意
在获取自定义属性时一定要严格按照配置文件来获取并且Value里面的字符串一定是$
+花括号{***}
,花括号里面的***
表示为:application.properties里面自定义的字符串
,所以本例就是表示为:@Value("${com.eirunye.defproname}")
。
如果application.properties
有自定义为test.ok="haha"
,同样的获取方式为:@Value("${test.ok}")
3.测试这里暂未使用测试代码的方式,后面的文章会讲到
- IntelliJ IDEA访问
1
http://localhost:8084/defproprety
通过Bean的形式获取
假如我们遇到这样情况,自定义属性多,然后每个都是通过@Value(${""})
方式的话可能会很容易出错,那么我们可以采用以下方式。
1.新建一个Properties.class
添加@ConfigurationProperties(prefix = "com.eirunye")
//表示的是通过自定义属性查找,如果自定义是:test.ok=haha
,则该这样表示:@ConfigurationProperties(prefix = "test")
1 | @ConfigurationProperties(prefix = "com.eirunye")//添加该注解 |
2.在controller包下创建 DefBeanPropertyController.class
1 | @RestController |
3.在项目的入口文件Application添加注解@EnableConfigurationProperties
最后加上包名不然可能找不到扫描文件如:@EnableConfigurationProperties({com.eirunye.defpropertys.bean.Properties.class})
。
1 | @SpringBootApplication |
4.测试
IntelliJ IDEA访问
创建文件xxx.properties文件方式
我们可以自己创建一个自定义属性的文件如本例def.properties,(注:一般都是以 .properties 文件结尾)
1.添加自定义def.properties
配置如下:
1 | #-------------------------------- |
2.创建 DefineProperties.class
1 | @Configuration |
3.在DefinePropertiesController.class
引用
1 | @RestController |
4.别忘了在Application里面添加配置@EnableConfigurationProperties
,即:@EnableConfigurationProperties({com.eirunye.defpropertys.bean.Properties.class,com.eirunye.defpropertys.bean.DefineProperties.class})
5.测试
1 | http://localhost:8084/define/Properties |
下载application.properties案例demo
application.yml配置
由于application.properties配置有点繁琐,简洁是我们非常喜欢的,那么在Spring Boot程序里面当然也是可以用.yml文件来配置的,接下来让我们进入对.yml文件的一些相关配置吧,官方文档Using YAML Instead of Properties。
常见的配置
首先在src目录下的/main/resource文件夹中新建application.yml、application-dev.yml、application-prod.yml
三个文件,删除application.properties
文件,目录结构如下:
1 | |--src |
相信很多人要骂街了,这什么情况不是说,yml配置很给力吗?怎么还有创建那么多文件,这不是比上面的 application.properties
配置还多此一举吗?莫急接下来让我们来看看.yml的配置之后,我相信你肯定在项目中会喜欢用它。
常见的配置属性如下: 【注意: 这里属性之间的间隔必须按照要求而来,如:冒号后面要空格】application.yml
配置
1 | spring: |
application-dev.yml
可以当成正式服务器端口
1 | server: |
application-prod.yml
可以当成测试服务器端口
1 | server: |
- 查看更多.yml配置
自定义yml配置
在application.yml配置
1.和上面的application.properties类似,但是需要注意的是格式问题
1 | com: |
2.通过@Value("${com.eirunye.ymlname}")
获取
1 | @RestController |
3.测试—访问:
1 | http://localhost:8084/yml/proprety |
通过Bean方式获取和application.properties方式一样
1.创建YmlPropertyBean.class
1 | @ConfigurationProperties(prefix = "com.eirunye")//添加该注解 |
2.在 YmlPropertyBeanController.class
引用
1 | @RestController |
3.测试-访问
1 | http://localhost:8084/bean/ymlproperty |
下载.yml案例demo
总结
1.本篇主要讲得配置文件,到此就结束了,在开发中这是我们经常用到。
2.在本篇有些相关配置,本例的代码实例还没涉及到,接下来会继续结合相关的配置案例继续更新。
3.相信大家也有所掌握。
v1.5.2