一、yml配置文件使用方式。
1.三方技术配置信息
以redis为例,首先引入redis的起步依赖,根据其提供的文档编写所需的配置信息,当Spring Boot程序启动后起步依赖会自动获取所编写的配置信息去使用,此处只需要编写配置信息,无需获取配置信息。
2.自定义配置信息
假定一个项目需要连接某个服务器,在配置时直接在代码内部引入配置参数,诸如授权码,服务器域名一类,在代码编写完成时,将代码进行打包后,一旦需要修改其配置信息,会产生诸多不便,可能需要重新在代码里进行修改,打包等一系列操作。为了解决这个问题,我们可以将配置信息编写在外部的配置文件内,并且在代码中对配置信息进行获取即可,即使工程编写完成,已经打包完成,在后期对于配置文件的修改,我们只需要修改外部的配置文件,不需要关注代码本身的修改问题。
3.实例说明
假如XXX.java内包含了一些配置信息,我们可以将其进行修改,将其整合在外部的application.properties或者application.yml配置文件中。
public class XXX
{
public String user = "XXX1";
//授权码
public string code = "abcdef";
//域名
public string host = "XXX.com";
//是否进行信息验证
private boolean auth = true;
}
(1)application.properties:
information.user = XXX1
information.code = abcdef
information.host = XXX.com
information.auth = true
(2)application.yml:
information:
user: XXX1
code: abcdef
host: XXX.com
auth: true
在此对最常使用的application.yml作进一步说明,两个基本语法如下:
1):值前边必须有空格,作为分隔符;
2):使用空格作为缩进表示层级关系,相同的层级左侧对齐;
如果配置使用数组,具体写法如下(注意" - "后的空格一定存在):
Number:
- ceshi1
- ceshi2
- ceshi3
- ceshi4
配置信息书写完成后,使用Spring Boot提供的注解@Value获取配置文件内的信息,具体使用方法为:
@Value("${键名}")
使用此注解后XXX.java的内容为:
public class XXX
{
@Value("${information.user}")
public String user;
@Value("${information.code}")
//授权码
public string code;
@Value("${information.host}")
//域名
public string host;
@Value("${information.auth}")
//是否进行信息验证
private boolean auth;
}
至此,外部配置文件已经生效,并且可以正常使用。但是如若遇到多个配置需要书写,每次都写@Value("${XXX.YYY}")注解,较为麻烦,Spring Boot还为我们提供了另一种写法:
@ConfigurationPrgperties(prefix="前缀")
使用此注解后XXX.java的内容为:
@ConfigurationPrgperties(prefix="information")
public class XXX
{
public String user;
//授权码
public string code;
//域名
public string host;
//是否进行信息验证
private boolean auth;
}
使用此注解还需注意实体类的成员变量名与配置文件中的键名保持一致,否则Spring Boot无法自动识别。
二、总结。
关于配置信息的书写和获取,以上做了详细说明,书写时需注意语法规则,在使用注解时进行两者注解的合理选择即可。