SpringBoot学习笔记(三)——Springboot配置文件

SpringBoot不像之前用spring+springMVC做项目的时候,他不需要配置大量的看上去很乱很复杂的xml配置文件。在SpringBoot中你可以通过java代码和注解配置项目,也可以通过简单的几个配置文件来配置项目。

这篇学习笔记只记录下配置文件的使用,至于用java代码配置的内容下次再写。


 SpringBoot配置文件

spring的配置文件有两种格式:

1、application.properties

2、application.yml

这两种文件可以选择一种来当作你项目的配置文件,但是官方推荐使用yml来配置,因为他的语法看起来更简洁和清晰,接下来我也会使用这个格式来做例子。


 SpringBoot这两种配置文件写法的不同

这两种配置文件本质上是一样的,只是语法(表现形式)不同,用两个很简单的例子就可以看出".properties"格式和".yml"这两种配置文件语法的不同。

1、配置服务的端口号

application.properties文件这样写

1 server.port=9014

 application.yml文件这样写

扫描二维码关注公众号,回复: 8627476 查看本文章
1 server:
2   port: 8889

2、配置数据库驱动类型

application.properties文件这样写

1 spring.datasource.driver-class-name=com.mysql.jdbc.Driver

 application.yml文件这样写(当然这里直接配置了数据库连接池使用的是druid)

1 spring:
2   datasource:
3     druid:
4       driver-class-name: com.mysql.jdbc.Driver

上面的例子可以轻易的看出来他们的区别,yml格式的一般就是把properties的点,换成了下一行加“空格”。

所有一般会一种另一种也就会了,这里推荐使用yml格式的(看着很清爽有没有,没有啥重复的多余的代码,而且层级关系显示的很明显)。


SpringBoot配置文件application.yml格式注意点

这个格式其实没有多少语法,一般用几次,看几个例子也就会用了,但是要配置复杂的还是要研究下的。

这是我整理了几个注意点:

1、用键:  值的方式表现属性和配置的。(这里注意,“:”符号有后面一定要跟一个空格

2、使用“缩进”的方式表现层级关系。缩进了几个空格没事,但是同一层级的右边要对其。就像下面的。

3、大小写敏感。

1 datasource:
2     type: com.alibaba.druid.pool.DruidDataSource
3     druid:
4       driver-class-name: com.mysql.jdbc.Driver
5       username: root
6       password: 1111111

更多详细yml语法我找到个大神的文章,给个传送门:(传送门

官方的参考:(http://www.yaml.org


SpringBoot配置文件的加载

springboot的配置文件的加载是有优先级和顺序的,springboot启动的时候会默认加载一些位置的配置文件。了解一下看别人项目的时候就可以轻易的找到配置文件啦。

一、加载顺序

SpringBoot启动的时候会扫描加载下面几个位置的application.properties/application.yml文件:

1、./config——根目录(项目目录)下的一个config文件夹

2、./——根目录下面

3、classpath:/config——classpath路径下的config文件夹。这个classpath路径这里一般指的是src/main/resources/config,最好不要跟代码放一块。

4、classpath/——这个就是classpath路径了,一般就是src/main/resources。

二、加载配置的优先级

1、上面加载配置是由大到小的优先级。

2、同一目录下的文件:.properties > .yml。(还是properties优先级高点,但我还是用yml)

3、先加载的配置就会应用哪个配置,不会被后加载的覆盖。

参考大佬:(传送门


一些常用的配置例子

持续更新中。。。。。。。。。。。


如果有哪里写的有问题,欢迎指出来,有啥大神的相关文章欢迎在评论区贴出(传送门)哦。

下面会写一些SpringBoot的java配置笔记。

猜你喜欢

转载自www.cnblogs.com/Eastry/p/12189022.html