Spring boot application.properties和 application.yml 初学者的学习

来自于java尚硅谷教程

简单的说这两个配置文件更改配置都可以更改默认设置的值比如服务器端口号之类的,只需再文件中设置即可, properties可能是出现的比较早了,如果你不调你的默认编码,中文可能乱码,yml则不会,至于在两个文件中写不同配置最终执行那个?我没试不得而知!总之都很好用!

说白了为了提高代码复用性是这样吧意思这个就是为了方便从配置文件中读值

例如你建立了一个bean类 别指望运行

Person.java

package com.automavn.bean;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;
/*
* 把配置文件映射到组件中
* prefix对配置文件哪一个属性下的文件进行映射@Component必须要加
* */
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
private String name;
private  int  age;
private List<Object> list;
private Map<Object,Object> map;

    @Override
    public String toString() {
        return "Person{" +
                "name=‘" + name + ‘\‘‘ +
                ", age=" + age +
                ", list=" + list +
                ", map=" + map +
                ‘}‘;
    }

    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;
    }

    public List<Object> getList() {
        return list;
    }

    public void setList(List<Object> list) {
        this.list = list;
    }

    public Map<Object, Object> getMap() {
        return map;
    }

    public void setMap(Map<Object, Object> map) {
        this.map = map;
    }
}

  

@Component
@ConfigurationProperties(prefix = "person")这两个配置是要加的同时要在maven配置(pom.xml)你的yml将会提示你拥有的类的信息
    <!-- 有了这个bean 下yml的配置将会提示 而且dependency 在dependencies标签下-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

  application.properties的值的大致写法

# 要设置你的编码否则这个会乱码 设置为UTF-8 在设置里面设置
person.age=20
person.name=爸爸
#list用逗号隔开
person.list=a,b,c,d
person.map.key=第一个key值
person.map.key1=第二个key值

  application.yml的值的大致写法你写的对不对点击文字底部状态栏会有提示的(IDEA)

person:
  name: 爸爸
  age: 18
  list:
    - 第一个list
    - 第二个list
  map: {k1: v1 , k2: v2 }

@Component

@ConfigurationProperties(prefix = "person")
@Validated 可以添加对格式的判断例如@Email 但是@Value不行

---------------------------------------------------
@Value("${person.name}") 利用@Value获取特定的值
以前没学过Spring建议....语法不大懂走一步说一步吧

  

原文地址:https://www.cnblogs.com/xuexidememeda/p/10323025.html

时间: 2024-08-29 11:22:35

Spring boot application.properties和 application.yml 初学者的学习的相关文章

Spring Boot 配置文件: application.properties和application.yaml

application.properties和application.yaml的使用大致上是一直的. properties 文件比较常见,但是相对于 properties 而言,yaml 更加简洁明了,而且使用的场景也更多,很多开源项目都是使用 yaml 进行配置(例如 Hexo).除了简洁,yaml 还有另外一个特点,就是 yaml 中的数据是有序的,properties 中的数据是无序的.在一些需要路径匹配的配置中,顺序就显得尤为重要(例如我们在 Spring Cloud Zuul 中的配置

spring boot 读取配置文件(application.yml)中的属性值111

在spring boot中,简单几步,读取配置文件(application.yml)中各种不同类型的属性值: 1.引入依赖: [html] view plain copy <!-- 支持 @ConfigurationProperties 注解 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-proc

Spring boot 的 properties 属性值配置 application.properties 与 自定义properties

配置属性值application.properties 文件直接配置: com.ieen.super.name="MDD" 自定义properties文件配置:src/main/resources/conf/boot.properties com.ieen.boot.name="123" com.ieen.boot.value="456" 调用方法@Value 注解调用application.properties属性值: @Value("

Spring Boot 核心配置文件 bootstrap &amp; application 详解。

用过 Spring Boot 的都知道在 Spring Boot 中有以下两种配置文件 bootstrap (.yml 或者 .properties) application (.yml 或者 .properties) 为什么会有这两种配置文件呢?大家都清楚它们的区别和具体使用场景吗? bootstrap/ application 的区别 特意去翻了下 Spring Boot 的官方文档,没有找到关于这两种文件的具体定义,然后再翻了下 Spring Cloud 的官方文档找到了它们的区别. ht

application.properties和application.yml文件的区别

关于 一般上来说,当我们创建一个SpringBoot项目时,IDE会默认帮我们创建一个application.properties配置文件.有些朋友习惯把.properties文件改成.yml文件.那么这两种文件类型有什么区别呢? 区别 1.内容格式比较: .properties文件,通过.来连接,通过=来赋值,结构上,没有分层的感觉,但比较直接. .yml文件,通过:来分层,结构上,有比较明显的层次感,最后key赋值的:后需要留一个空格 2.执行顺序 如果工程中同时存在application.

Spring Boot的properties配置文件读取

我在自己写点东西玩的时候需要读配置文件,又不想引包,于是打算扣点Spring Boot读取配置文件的代码出来,当然只是读配置文件没必要这么麻烦,不过反正闲着也是闲着,扣着玩了.具体启动过程以前的博客写过Spring Boot启动过程(一),这次入口在SpringApplication类中: private ConfigurableEnvironment prepareEnvironment( SpringApplicationRunListeners listeners, Application

spring boot 配置文件properties和YAML详解

properties中配置信息并获取值. 1:在application.properties配置文件中添加: 根据提示创建直接创建. 怎么在程序中引用这个值呢? 浏览器访问: 我们可以看到输出的值. 说明: Application属性配置文件的优先顺序 2:端口修改 在application.properties中直接使用: server.port=8888 保存后,spring boot会自动帮我们重启. 我们可以看到重启后的端口就为8888了. 3:日期格式: 在上一节课中我们访问saveu

Spring Boot 项目 application.properties配置说明

#======================================================================================# ★☆★☆★☆★☆★☆ spring boot 配置中心 ★☆★☆★☆★☆★☆#====================================================================================== springBoot application.properties 基

Spring Boot中配置文件application.properties里面配置项的引用

方法1:绑定对象bean调用 1.在application.properties或者application.yml里面添加我们的配置项: 2.创建一个配置类(该类和我们上面配置项的属性一一对应): import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @ConfigurationP