前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot学习二:基础配置

SpringBoot学习二:基础配置

作者头像
关忆北.
发布2020-10-15 15:54:12
2890
发布2020-10-15 15:54:12
举报
文章被收录于专栏:关忆北.

1.SpringBoot的配置文件

properties 位置优先级:

  1. 项目根目录下的config目录
  2. 当前项目的根目录(与src同级)
  3. resources 目录下的 config 目录下
  4. resources目录下
在这里插入图片描述
在这里插入图片描述

这四个位置是默认位置,即 Spring Boot 启动,默认会从这四个位置按顺序去查找相关属性并加载。但可以通过 spring.config.location 属性来手动的指定配置文件位置,去指定目录下查找 application.properties 文件。

properties属性注入

代码语言:javascript
复制
book.properties
book.name=三国演义
book.author=罗贯中
book.id=1

properties传统方式在类中注入属性

代码语言:javascript
复制
@Component
//加载配置文件
@PropertySource("classpath:book.properties")
public class Book {
    @Value("${book.id}")
    private Long id;
    @Value("${book.name}")
    private String name;
    @Value("${book.author}")
    private String author;
    //getter/setter
}

SpringBoot类型安全的属性注入

代码语言:javascript
复制
@Component
@PropertySource("classpath:book.properties")
@ConfigurationProperties(prefix = "book")
public class Book {
    private Long id;
    private String name;
    private String author;
    //getter/setter
}

@ConfigurationProperties(prefix = “book”)自动将Spring容器中对应的数据注入到对象属性中,不用@Value挨个注入

yaml yaml与properties的区别是yaml以缩进(空格缩进,不是Tab)代码层级关系, yaml有序,properties无序 yaml对 大小写敏感 书写格式:

代码语言:javascript
复制
key: value
redis:
  redisConfigs:
    - host: 192.168.66.128
      port: 6379
# 注释,: value间有一个空格
代码语言:javascript
复制
#yaml方式注入
@Component
@ConfigurationProperties(prefix = "redis")
public class RedisCluster {
    private List<SingleRedisConfig> redisConfigs;
	//省略getter/setter
}

yaml数组注入 yaml也支持数组注入,例如

代码语言:javascript
复制
my:
  servers:
	- dev.example.com
	- another.example.com

这段数据可以绑定到一个带Bean的数组中:

代码语言:javascript
复制
@ConfigurationProperties(prefix="my")
@Component
public class Config {

	private List<String> servers = new ArrayList<String>();

	public List<String> getServers() {
		return this.servers;
	}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/08/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.SpringBoot的配置文件
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档