上篇文章,我们讲解了如何创建一个基础的springboot项目:
https://blog.csdn.net/weixin_48583915/article/details/128126351?spm=1001.2014.3001.5501
今天我们来聊一下spring配置文件的配置方式和读取:
1、spring文件的配置方式
目录:resources的根目录下面
文件格式类型
- .properties(这里讲解多环境的配置)
配置自己自定义的属性或者通用的属性值:
application.properties
--根据active指定的参数读取不同环境的配置文件
spring.profiles.active=dev
application-dev.properties
server.port=8087
wcz=czing-dev
application-prod.properties
server.port=8087
wcz=czing-prod
- .yml(这里讲解多环境的配置)
配置自己自定义的属性或者通用的属性值:
application.yml(注意属性值为key:value形式,英文 : +空格+value严格注意)
--根据active指定的参数读取不同环境的配置文件
spring:
profiles:
active: prod
application-dev.yml
server.port=8087
wcz=czing-dev
server:
port: 8087
wcz:
cz: czing-dev
server:
port: 8088
wcz:
cz: czing-prod
2、代码的读取@Value注解
springboot的启动类(快速搭建之后的原生启动类):
package com.cn.czing.mongodbdemo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MongodbdemoApplication {
public static void main(String[] args) {
SpringApplication.run(MongodbdemoApplication.class, args);
}
}
创建controller用于测试配置文件的读取:
package com.cn.czing.mongodbdemo.util;
import com.mongodb.ConnectionString;
import com.mongodb.MongoClientSettings;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.result.InsertOneResult;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/*
* 用mongoclient操作数据链接
* 测试基本的api
* author:czing
* */
@Controller
public class MongodbClient {
@Value("${wcz}")
private String url;
@ResponseBody
@RequestMapping("/1")
public String insert() {
String collectionName = "czing";
System.out.printf("读取配置文件"+url);
return url;
}
}
3、启动项目,效果演示(读取方式和验证思路yml同properties)
application.properties指定读取dev配置文件的wcz属性:
**application.properties改为读取prod配置文件的wcz属性:
**
以上是springboot如果读取不同环境配置文件的测试流程,yml的配置方式一样处理,只是配置方式不同。