- 1. 多环境下的配置文件的使用——.properties
- 1.1开发环境
- 1.2测试环境
- 1.3准生产环境
- 1.4生产环境
- 1.5SpringBoot主核心配置文件
- 2. 多环境下的配置文件的使用——.yml(或.yaml)
- 2.1开发环境
- 2.2测试环境
- 2.3生产环境
- 2.4SpringBoot主核心配置文件
- 3.获取自定义配置
- 3.1一个一个获取@Value
- 3.2 将自定义配置映射到一个对象@ConfigurationProperties(prefix = "school") //配置属性注解(必须配置前缀)
- 3.3去掉红色的警告信息(这个爆红不影响程序的运行)
application-dev.properties
#开发环境配置文件
server.port=8080
server.servlet.context-path=/dev
1.2测试环境
application-test.properties
#测试环境的配置文件
server.port=8081
server.servlet.context-path=/test
1.3准生产环境
application-ready.properties
#准生产环境配置文件
server.port=8082
server.servlet.context-path=/ready
1.4生产环境
application-product.properties
#生产环境配置文件
server.port=9090
server.servlet.context-path=/product
1.5SpringBoot主核心配置文件
application.properties
#激活使用的配置文件
spring.profiles.active=dev
通过不同的环境去调用不同的环境配置文件
2. 多环境下的配置文件的使用——.yml(或.yaml) 2.1开发环境application-dev.yml
#开发环境配置文件
server:
port: 8080
servlet:
context-path: /dev
2.2测试环境
application-test.yml
#测试环境的配置文件
server:
port: 8081
servlet:
context-path: /test
2.3生产环境
application-product.yml
#生产环境配置文件
server:
port: 9090
servlet:
context-path: /product
2.4SpringBoot主核心配置文件
application.yml
#激活使用的配置文件
spring:
profiles:
active: dev
通过不同的环境去调用不同的环境配置文件
两种方式是一样的效果,只是通过不同的方式。
3.获取自定义配置3.1一个一个获取@ValueSpringBoot在核心配置文件application.properties自定义配置
配置核心配置文件application.properties
#设置内嵌Tomcat端口号
server.port=8080
#设置上下文
server.servlet.context-path=/
school.name=guoguo
websit=http:/www.guoguo.com
读取自定义配置文件 @Value(“${key}”)
//在核心配置文件中读取值
@Value("${school.name}") //大括号内是key的名字
private String schoolname;
@Value("${websit}")
private String websit;
3.2 将自定义配置映射到一个对象@ConfigurationProperties(prefix = “school”) //配置属性注解(必须配置前缀)
使用对象去读取配置文件时,配置文件中的属性要有统一开头的前缀(前缀必须是统一的)
配置文件
application.properties
#设置内嵌Tomcat端口号
server.port=8080
#设置上下文
server.servlet.context-path=/
school.name=guoguo
school.websit=www.guoguo.com
abc.name=abc
abc.age=18
创建一个类(将配置中以school开头的配置信息映射到School这个类中)
School
package com.guo.springboot.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component //将此类交给Spring容器进行管理
@ConfigurationProperties(prefix = "school") //配置属性注解(必须配置前缀)
public class School {
private String name;
private String websit;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getWebsit() {
return websit;
}
public void setWebsit(String websit) {
this.websit = websit;
}
}
创建一个类(将配置中以abc开头的配置信息映射到Abc这个类中)
Abc
package com.guo.springboot.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix = "abc")
public class Abc {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
创建一个类(测试是否能以对象的形式读取到配置文件)
IndexController
package com.guo.springboot.web;
import com.guo.springboot.config.Abc;
import com.guo.springboot.config.School;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class IndexController {
@Autowired
private School school; //注入对象
@Autowired
private Abc abc;
@RequestMapping(value = "say")
public @ResponseBody String say(){
return "hello"+school.getName()+":"+school.getWebsit()
+"===="+abc.getName()+":"+abc.getAge();
}
}
3.3去掉红色的警告信息(这个爆红不影响程序的运行)成功读取到
helloguoguo:www.guoguo.com====abc:18
在pom文件中加入如下内容
<!--解决使用@ConfigurationProperties注解出现的警告问题-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)