SpringBoot的配置文件详解

SpringBoot配置文件概述

1)SpringBoot的配置文件的名字必须以application开头:

2)SpringBoot配置文件有两种后缀:.properties和.yml(表示的意思是一样,只是编写数据的格式不同

  • application.properties:使用key=value的形式编写数据,以.来分层级
  • application.yml:使用key: value的形式编写数据,以回车加缩进来分层级

3)SpringBoot配置文件中系统已经定义了一些key

  • 可以去Spring的官网中查看系统定义的key:Spring | Home

例1:在application.properties中设置服务器的端口号和web应用的上下文(项目的根路径)

例2: application.yml设置服务器的端口号和web应用的上下文(项目的根路径)

SpringBoot的多环境配置

在实际开发中,项目会在开发环境, 测试环境, 上线环境运行,而每个环境的配置信息不同, 例如端口, 上下文件, 数据库url,用户名,密码等等。

此时就可以进行多环境配置:创建多个用于不同环境下的SpringBoot配置文件提供一个主配置文件;将不同环境下的配置信息编写在不同的配置文件下,然后在主配置文件中切换不同环境下的配置文件。

名称规则: application-环境名称.properties(yml)

  • 创建开发环境的SpringBoot配置文件: application-dev.properties( application-dev.yml )
  • 创建测试环境的SpringBoot配置文件: application-test.properties

实现步骤

1.在resources目录下创建多个不同环境下的SpringBoot配置文件

其中: 

2.在主配置文件中指定激活哪个环境下的springboot配置文件

SpringBoot配置文件中数据的编写和获取

编写配置文件中的数据

获取配置文件中的数据

方式一:@Value("${key.key...}")注解

使用@Value("${key.key...}")注解:标在成员变量上,从配置文件中根据key获取对应的value并给其赋值。

实现步骤:

  • 先配置SpringBoot配置文件中的key=value数据
#配置服务器的端口号
server.port=8082
#配置web项目的根路径
server.servlet.context-path=/myspringboot

#自定义key=value对
school.name=test
school.website=www.test.com
school.address=test

site=www.baidu.com
  • 获取
@org.springframework.stereotype.Controller
	public class Controller {
		//根据key获取SpringBoot配置文件中的对应的value数据
		@Value("${server.port}")
		private  Integer port;

		@Value("${server.servlet.context-path}")
		private String contextPath;

		@Value("${school.name}")
		private String shoolName;

		@Value("${site}")
		private String site;

		@RequestMapping("/data")
		@ResponseBody
		public String queryDate(){
			return "shoolName=" + shoolName + "site="+ site + "项目的访问地址=" + contextPath + "port=" + port;
		}
	}

方式二:@ConfigurationProperties注解

标注在实体类上。

主要作用:将SpringBoot 配置文件(如 application.properties 或 application.yml)中的属性值 映射到 Java 对象的属性中,是 SpringBoot 的注解。

语法:@ConfigurationProperties(prefix = "配置文件中的某前缀key")

  • prefix属性:指定配置文件中属性的前缀,将所有以 "xxx.yyy" 前缀开头的属性,自动映射到对应属性上。

  • 29
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值