专栏首页关忆北.SpringBoot学习二:基础配置

SpringBoot学习二:基础配置

1.SpringBoot的配置文件

properties 位置优先级:

  1. 项目根目录下的config目录
  2. 当前项目的根目录(与src同级)
  3. resources 目录下的 config 目录下
  4. resources目录下

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

properties属性注入

book.properties
book.name=三国演义
book.author=罗贯中
book.id=1

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

@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类型安全的属性注入

@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对 大小写敏感 书写格式:

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

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

my:
  servers:
	- dev.example.com
	- another.example.com

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

@ConfigurationProperties(prefix="my")
@Component
public class Config {

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

	public List<String> getServers() {
		return this.servers;
	}
}
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://blog.csdn.net/weixin_42313773复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 二.SpringBoot配置lombok

    Lombok想要解决了的是在我们实体Bean中大量的Getter/Setter方法,以及toString, hashCode等可能不会用到,但是某些时候仍然...

    十分钟空间
  • 源码学习系列之SpringBoot自动配置(篇二)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    SmileNicky
  • SpringBoot 基础配置 & Hello Word

    许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

    Bobby
  • SpringBoot基础之配置详解

    大家好,我是二师兄,本篇文章为大家讲解SpringBoot相关配置功能,包括application.properties配置文件、外部配置、属性注入等。

    程序新视界
  • Jquery DataTable 的学习之基础配置(二)

    本文将介绍jquery DataTable的一些基础配置,如分页、排序、过滤等,代码如下

    OECOM
  • SpringBoot基础(二、原理分析)

    接着上一篇SpringBoot基础(一、快速入门)的介绍,我们来简单的谈谈SpringBoot的原理分析。

    营琪
  • SpringBoot学习笔记(二)——SpringBoot测试JUnit5、 SpringBoot 配置、Spring IoC与自动装配

    Spring Test与JUnit等其他测试框架结合起来,提供了便捷高效的测试手段。而Spring Boot Test 是在Spring Test之上的再次封装...

    张果
  • SpringBoot源码学习(二)

    通过上篇文章的学习,大概清楚了springApplication类的功能。但是遗留了几个问题是读取application.properties和loader.l...

    写一点笔记
  • springboot配置文件中的基础配置

    SpringBoot配置文件默认为application.和application-default.,如果通过spring.config.name属性指定了自定...

    在水一方
  • 零基础学习SpringBoot

    Spring Boot---(9)SpringBoot项目发布到docker的tomcat容器

    IT云清
  • SpringBoot 之基础学习篇.

        SpringBoot 的关键词是“约定俗成”,它根据长久以来的 Spring 开发配置经验,整理出一套适用、普遍、大家都认可的配置方案。所以 Sprin...

    JMCui
  • SpringBoot基础篇配置信息之配置刷新

    本篇将介绍并演示如何实现配置信息的刷新,但不会涉及到底层的实现原理,想要探究里面的神奇,可以网上google一下,或者期待后续的源码分析篇

    一灰灰blog
  • SpringBoot基础篇配置信息之配置刷新

    配置的刷新,从第一篇就提出了这个问题,但是一直都没有说到,那么配置加载完毕之后能否在主动刷新呢?

    一灰灰blog
  • springBoot学习(二)配置环境动态切换和部分注解的运用

    建立第一个配置文件(springBoot默认读取的文件)application.properties

    杨小杰
  • springBoot学习(二)配置环境动态切换和部分注解的运用

    建立第一个配置文件(springBoot默认读取的文件)application.properties

    乱敲代码
  • SpringBoot系列(二)配置文件详解

    一般情况下,properties可以在项目的4个地方存在,然后他们每个位置有不同的优先级,并且,不同名的时候application.properties的优先级...

    全栈学习笔记
  • SpringBoot 笔记 ( 二 ):自定义配置

    SpringBoot 笔记 ( 二 ) 1. 配置文件 SpringBoot使用一个全局的配置文件,配置文件名是固定的: application.propert...

    lwen
  • 快速学习-SpringBoot自动配置原理

    使用SpringBoot之后,一个整合了SpringMVC的WEB工程开发,变的无比简单,那些繁杂的配置都消失不见了,这是如何做到的?

    cwl_java

扫码关注腾讯云开发者

领取腾讯云代金券