来自于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:
list:
- 第一个list
- 第二个list
map: {k1: v1 , k2: v2 }

@Component

@ConfigurationProperties(prefix = "person")
@Validated 可以添加对格式的判断例如@Email 但是@Value不行 ---------------------------------------------------
@Value("${person.name}") 利用@Value获取特定的值
以前没学过Spring建议....语法不大懂走一步说一步吧

----------------------------------------------------------------------------------------------------------第二天------------------------------------------------------  

@PropertySource(value={classpath:resources下的自定义的properties文件})有了这个文件就可以读你自定义的配置了,原来是全局的

SpringBoot推荐使用给容器添加组件方式为 @Bean给容器添加组件

例如:

@Configuration
public class MyConfig
{
@Bean//组件ID默认为方法名称
public HelloService hello()
{
} }

  

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

  1. Spring Boot中application.properties和application.yml文件

    application.properties和application.yml文件可以放在一下四个位置: 外置,在相对于应用程序运行目录的/congfig子目录里. 外置,在应用程序运行的目录里 内置, ...

  2. 构建第一个Spring Boot2.0应用之application.properties和application.yml(八)

    本节学习在项目中配置文件配置的方式,一种是通过applicaiton.properties,一种是通过application.yml方式. 一.环境: IDE:IntelliJ IDEA 2017.1 ...

  3. Spring Boot 核心配置文件 bootstrap & application

    Spring Boot 核心配置文件 bootstrap & application 1.SpringBoot bootstrap配置文件不生效问题 2.bootstrap/ applicat ...

  4. SpringBoot application.properties (application.yml)优先级从高到低

    SpringBoot application.properties(application.yml) 优先级从高到低 SpringBoot配置文件优先级从高到低 =================== ...

  5. 简述application.properties和application.yml 以及 @ConfigurationProperties 和@PropertySource @Value 和@ImportResource的用法,区别

    问题: 如何在application.properties和application.yml中配置String,Date,Object,Map,List类型的属性,并且idea能提示 先写一个Perso ...

  6. idea社区版+第一个spring boot项目+增删改查+yml修改端口号

    参考:https://www.cnblogs.com/tanlei-sxs/p/9855071.html 中途出现问题时参考了太多 1.下载idea社区版 2.在settings -> Plug ...

  7. spring boot 配置文件properties和YAML详解

    spring boot 配置文件properties和YAML详解 properties中配置信息并获取值. 1:在application.properties配置文件中添加: 根据提示创建直接创建. ...

  8. Spring boot 梳理 - 全局配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,一般我们放到resources下。

    全局配置文件application.properties或者是application.yml,在resources目录下或者类路径下的/config下,一般我们放到resources下.

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

    配置属性值application.properties 文件直接配置: com.ieen.super.name="MDD" 自定义properties文件配置:src/main/r ...

随机推荐

  1. InnoDB中一棵B+树能存多少行数据

    https://www.jianshu.com/p/3578beed5a68 https://www.cnblogs.com/tongongV/p/10952102.html InnoDB 存储引擎最 ...

  2. 【PAT甲级】1026 Table Tennis (30 分)(结构体排序,trick较多)

    题意: 输入一个正整数N(<=10000),表示客户(对)的大小,接着输入N行数据,每行包括一对顾客到场的时间,想要玩的时间,以及是否是VIP客户.接下来输入两个正整数K,M(K<=100 ...

  3. mysql mvcc 的理解

    mvcc 全称 multiple version concurrency control 多版本并发控制,是数据库领域比较常用的一种非锁并发技术. mysql 的innodb中,在RR.RC级别会使用 ...

  4. IIS URL Rewrite(URL 重写)-使用教程

    IIS URL Rewrite(URL 重写)-使用教程 作者:vkvi 来源:千一网络(原创) 日期:2011-8-17  http://www.cftea.com/c/2011/08/9CRXOL ...

  5. Lamda表达式学习笔记二

    Lamda表达式学习笔记二 lamda表达式----方法引用 上一篇讲到Lamda体就是对函数式接口方法的实现 ,在方法体中我们可能会引用其他方法实现逻辑,所以在lamda体中我们可以直接引用器方法 ...

  6. MVC PartialView使用

    https://blog.csdn.net/mss359681091/article/details/51181037

  7. UIWindow的获取

    注意:还是直接用下面这个比较靠谱.尤其是iOS11之后. [UIApplication sharedApplication].keyWindow;   1.下面这种是比较严谨的方式 - (UIWind ...

  8. isEqual判断相等性

    1.isEqual方法用来判断两个比较者的内存地址是否一样.为了细分,有isEqualToString.isEqualToNumber.isEuqalToValue等,使用时一定要精确使用,比如虽然N ...

  9. 「HNOI2003」消防局的设立

    题目 [内存限制:$256 MiB$][时间限制:$1000 ms$] [标准输入输出][题目类型:传统][评测方式:文本比较] 题目描述 2020 年,人类在火星上建立了一个庞大的基地群,总共有 $ ...

  10. alerm和pause

    pause函数,会让进程进入阻塞状态,收到信号时,会中断这个阻塞的系统调用 alerm(s),会设置进程闹钟,在指定的时间后,进程会收到SIG_ALERM信号,收到这个信号时,可以中断pause阻塞调 ...