来自于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()
{
} }

  

最新文章

  1. javascript闭包理解
  2. matlab直方图均衡,使用向量优化
  3. 第九章伪代码编程过程 The PseudoCode Programming Process
  4. Android 视频播放器切换到下个视频时残留上个视频画面的解决办法
  5. 夺命雷公狗TP下关联查询
  6. Servlet课程0426(八)Servlet分页技术
  7. Linux学习3——磁盘文件管理系统与压缩和打包操作
  8. CentOS7 PostgreSQL 主从配置( 三)
  9. javascript学习笔记-3
  10. ng-book札记——Angular工作方式
  11. GMA Round 1 三角形
  12. js对象的创建
  13. Pandas之Dataframe叠加,排序,统计,重新设置索引
  14. Module not found: Error: Can't resolve 'XXX' in 'XXXX'
  15. NET Core 实战 Dapper 扩展数据访问
  16. Unity光照与渲染设置学习笔记
  17. UART中的硬件流控RTS与CTS【转】
  18. P1387 最大正方形 图DP
  19. Android中播放本地SD卡中歌曲须要的加入的权限
  20. WM-N-BM-09 WM-N-BM-14

热门文章

  1. Spring源码试读--BeanFactory模拟实现
  2. 使用gcc编译c语言解码ascii码
  3. 列表推导式、生成器表达式以及zip()max()max()/min()sum()sort()map()filter()的用法
  4. C++的注册和回调
  5. js中的||和&amp;&amp;的用法
  6. python3爬虫
  7. Django 学习 之ORM多表操作
  8. Derivative Pricing_1_Black
  9. python 中的 赋值 浅拷贝 深拷贝
  10. SpringCloud实战——(4)基于Eureka、Zuul