SpringBoot 如何编写配置文件
作者:憧憬
这篇文章主要介绍了SpringBoot 编写配置文件的两种方法,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
我们经常在项目开放中需要进行很多配置, 那么这些配置基本上都是动态的, 如果我直接写在代码中, 修改起来很麻烦, 如果该配置在多处进行引用啦, 你估计会杀了写代码的人。
那么我们在使用SpringBoot的时候, 也是需要进行配置文件编写的。在spirngBoot里面, 可以有两种方式声明配置
1、直接编写配置文件 然后从配置文件里面获取
2、编写配置文件 然后编写bean, 通过注解注入到bean里面 获取的时候从bean里面获取
配置文件编写可以有多种, 例如我们常见的有: xml、properties、json、yaml.....
我们这里就使用常见的properties文件来写
编写配置文件,从配置文件里面获取
创建配置文件

使用配置项

注解说明
@PropertySource({"classpath:config/web.properties"}) //指定配置文件
@Value("${site.name}") // 获取配置项 value
效果

编写配置文件, 从bean里面获取
编写bean, WebSetting.java
package com.example.demo.domain;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
@PropertySource(value = "classpath:config/web.properties", encoding = "utf-8")
@ConfigurationProperties(prefix = "site") // 这个可以指定前缀 只要成员属性能对上就行 也可以不指定 使用@Value来获取
public class WebSetting {
@Value("${site.name}")
private String siteName;
@Value("${site.desc}")
private String siteDesc;
@Value("${site.domain}")
private String siteDomain;
// 对上了可以不用@Value
private String test;
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
public String getSiteName() {
return siteName;
}
public void setSiteName(String siteName) {
this.siteName = siteName;
}
public String getSiteDesc() {
return siteDesc;
}
public void setSiteDesc(String siteDesc) {
this.siteDesc = siteDesc;
}
public String getSiteDomain() {
return siteDomain;
}
public void setSiteDomain(String siteDomain) {
this.siteDomain = siteDomain;
}
}
config/web.properties
site.name=憧憬 site.domain=aoppp.com site.desc=这是一个技术分享的博客! site.test=test
获取配置 效果

需要注意点
1、配置文件注入失败,出现Could not resolve placeholder
解决:根据springboot启动流程,会有自动扫描包没有扫描到相关注解,
默认Spring框架实现会从声明@ComponentScan所在的类的package进行扫描,来自动注入,因此启动类最好放在根路径下面,或者指定扫描包范围,spring-boot扫描启动类对应的目录和子目录
2、注入bean的方式,属性名称和配置文件里面的key一一对应,就用加@Value 这个注解,如果不一样,就要加@value("${XXX}")
以上就是SpringBoot 如何编写配置文件的详细内容,更多关于SpringBoot 编写配置文件的资料请关注脚本之家其它相关文章!
您可能感兴趣的文章:
- SpringBoot在yml配置文件中配置druid的操作
- 详解SpringBoot配置文件启动时动态配置参数方法
- Springboot打包部署修改配置文件的方法
- SpringBoot读取properties或者application.yml配置文件中的数据
- 详解springboot启动时是如何加载配置文件application.yml文件
- 简单了解springboot加载配置文件顺序
- SpringBoot获取配置文件的简单实现方法
- 关于springboot 配置文件中属性变量引用方式@@解析
- springboot如何读取配置文件(application.yml)中的属性值
- SpringBoot入坑笔记之spring-boot-starter-web 配置文件的使用
- Springboot读取配置文件及自定义配置文件的方法
- springboot读取配置文件中的参数具体步骤
