查看原文
其他

Spring Boot教你如何配置!

小红帽 Java之间 2019-04-27

点击上方Java之间”,选择“置顶或者星标”

你关注的就是我关心的!

一、配置文件

Spring Boot使用一个全局配置文件,配置文件名是固定的,有如下两种方式:

  • application.properties

  • application.yml

配置文件的作用:

  • 修改Spring Boot自动配置的默认值;

  • Spring Boot在底层都给我们配置好了;

标记语言:

以前的配置文件,大多使用的是 xxx.xml文件;

YAML:以数据为中心,比Json、XML更适合做配置文件:

YAML:配置实例:

XML:

二、YAML语法

1、基本语法

K: (空格)V:来表示一对键值对;

以空格的缩进来控制层级关系,只要左对齐的一列数据都是同一层级的;

属性和值也是大小写敏感的。

2、值得写法

2.1、字面量:普通值(数字,字符串,布尔)

K:V 字面量直接来写,字符串默认不用加上单引号或者双引号;

  • “”:双引号:不会转义字符串里面的特殊字符;特殊字符作为向表示的意思

name: "zhangsan \n lisi";输出zhangsan 换行l isi

  • '':单引号:会转义特殊字符,特殊自费生会转为一个普通的字符串输出

name: 'zhangsan \n lisi';输出zhangsan \n isi/

2.2、对象、Map(属性和值)(键值对):

K:V;在下一行来写对象的属性和值得关系;只是注意缩进就好了

对象还是K: V的方式:

行内写法:

2.3、数组(List,Set)

用- l来表示数组中的一个元素

行内写法

三、配置文件注入

配置文件:

JavaBean:

我们可以导入配置文件处理器,以后编写文件就有提示了:

1、properties配置文件在IDEA中默认UTF-8会乱码

2、@Value获取值和@ConfigurationProperties获取值比较


配置文件yml还是properties他们都能获取到值;

如果说,我们只是在某个业务逻辑中需要获取获取一下配置文件中的某项值,我们就使用@Value;

如果说,我们专门编写了一个javaBean来和配置文件进行映射;我们就直接使用@ConfigurationProperties

3、@PropertySource&@ImportResource

@PropertySource:健在指定的配置文件;

@ImportResource:导入Spring的配置文件,让配置文件里面的内容生效;

SpringBoot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;

想让我们的Spring配置文件生效,加载进来;@ImportResource标注在一个配置类上:

不来编写Spring的配置文件:

SpringBoot推荐给容器中添加组件的方式:推荐使用权注解方式;

1、配置类========Spring配置文件

2、使用@Bean给容器中添加组件;

四、配置文件占位符

1、随机数

2、占位符获取之前配置的值,如果没有可以使用,设置默认值

五、Profile(做多环境支持的)

Profile是Spring对不同环境提供不同配置功能的支持,可以他通过激活、指定参数等方式快速切换环境。

1、多profile文件

我们再主配置文件编写的时候,文件名可以是application-{profile}.prorperties或者yml;

默认使用application.properties的配置;

2、yml支持多文档块方式

3、激活指定profile

3.1、在配置文件中指定 spring.profiles.active=dev

3.2、命令行:

IDEA中

--spring.profiles.active=dev

最近热文阅读:

1、为什么越来越多的开发者选择使用Spring Boot?

2、为什么要有Spring AOP?

3、数据库分库分表策略的具体实现方案!

4、Java大型互联网公司经典面试题,论JDK源码的重要性的无限思考!

5、关于MySQL你要知道的知识点!

6、面试必备:如何将一个长URL转换为一个短URL?

7、假如全世界所有程序员组成一个王国!

关注公众号,你想要的Java都在这里!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存