当前位置:网站首页 > 技术博客 > 正文

yml文件配置map



80端口访问的时候不用写端口

注意要空一格写值

application.properties>application.yml>application.yaml

YAML(YAML Ain't Markup Language),一种数据序列化格式。

.yml(主要用这个)

.yaml

1.大小写敏感

2.属性层级关系使用多行描述,每行结尾使用冒号结束

3.使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)。空格的个数并不重要,只要保证同层级的左侧对齐即可。

4.属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)

5. # 表示注释

 
  

1.@value读取

2.用Environment读取

先装配Environment ,它会自动读取application.yml

 
  

 

3.封装对象读取 

将要读取的person封装成一个对象

 
  
3个小问题:
1.需要加入这个依赖才能用@ConfigurationProperties

- 这个依赖有管理元数据的作用。

- 元数据(Metadata)是描述数据的数据,它提供了关于数据的信息,如数据的结构、格式、创建日期、作者等,而不是数据本身的内容

- 这个例子让我们更直观地理解如何从yml中读取数据,但person作为一个实例化对象,用这种方式读取显然是不合理的。

举个例子,我们可以用这种方式来配mysql,我们需要指定数据库,账号密码(这些东西其实就是元数据——描述数据的数据)等等...,然后用一个对象封装起来,在内部定义初始化等一系列必要的操作。springboot项目一启动,我们的数据源就自动配好了。

 
  
2.在Setting中允许使用注解

3. prefix里面不能大写

为了规范,我们把配置文件中的person的p也改成小写(虽然大写也能读出来)

相应的,前面两个例子的p要改成小写

测试

自动装配

 
  

测试代码及结果 

 
  

--- 分隔环境

设置环境名称为xxx,下面写该环境具体的配置

 
  

测试一下

测试环境的端口是82

ps:properties文件的优先级比yml文件高,测试这个的时候不用注掉yml文件

我们的springboot项目打包成jar包给前端的工作人员,里面的环境已经写死了,前端要如何切换环境呢?如果我们配的环境的端口前端都有进程占用了,该如何修改呢?

--------------------------------------------------------------------------------

1.我们的配置文件里面可能会有中文,首先要在Setting中修改编码方式为utf-8

 2.先clean再package,防止前面的打的jar包影响我们此次的测试

3.找到打包好的jar包所在的文件夹

3.1 指定环境为dev环境
 
  

运行结果

是dev环境的80端口,而不是我们yml文件中test环境的82端口 

3.2 指定端口为90端口
 
  

运行结果

3.3 指定dev环境,指定dev环境下的端口为90端口
 
  

注意用哪个环境要写在最后面 

运行结果

自上而下,优先级从低到高。

 

target目录下 

ps:

1,2级是开发级别的,3,4级是项目上线级别的。

idea里面启动项目看的是1级  

  • 上一篇: nextval与next
  • 下一篇: 虚拟机安装win10教程
  • 版权声明


    相关文章:

  • nextval与next2025-05-25 16:30:00
  • linux框架图2025-05-25 16:30:00
  • tftp 命令2025-05-25 16:30:00
  • 基于java宿舍管理系统开题报告2025-05-25 16:30:00
  • 串口助手用什么编的2025-05-25 16:30:00
  • 虚拟机安装win10教程2025-05-25 16:30:00
  • 蒙特卡罗搜索树的步骤2025-05-25 16:30:00
  • 拷贝构造函数原理2025-05-25 16:30:00
  • lte cat-m2025-05-25 16:30:00
  • 荣耀10pro参数配置详情2025-05-25 16:30:00