一、关于springboot的配置文件

springboot的配置文件主要有两种:properties文件和yml文件,我们只要选择一种使用就可以了。我们通过properties文件介绍一下配置的方式,properties文件主要是通过键值对的方式进行配置,如下图:

二、springboot中多环境配置文件

多环境配置文件是什么?

因为在项目中往往存在不同的环境,比如开发环境、测试环境、stable环境以及线上环境。对于不同的环境往往有不同的配置,那么运行时具体使用哪一套配置环境是一个问题。解决方案如下:

首先我们创建了两套配置文件dev和test,可以在主要配置文件application.properties中激活dev这个配置文件。springboot首先会查找主配置文件里面的配置,然后会去dev中找配置信息。如图所示,我们在dev中激活的端口只8090,可以看到springboot启动后的端口也是8090,说明dev的配置文件确实启动了。

三、配置文件中自定义键值对

在springboot配置文件中,我们可以自定义一些键值对,这些键值对可能并不是springboot的配置项,是我们自己定义的,我们可以通过两种方式这种键值对读出来。

第一种方式:注解@value的方式

首先,我们在注解这种加入了两个不被识别的键值对:

然后,我们进行测试:

@SpringBootTest
class ApplicationTests { @Value("${kunkun}")
private String name;
@Value("${age}")
private int age; @Test
void contextLoads() {
System.out.println(name);
System.out.println(age);
} }

打印出的结果如图所示,很容易理解,这些键值对已经被读出来了。

第二种方式:注解@configurationProperties

这个注解可以将整个配置文件映射成为一个Java对象(适合配置项比较多的场景),看例子:

@Data
@Component
@ConfigurationProperties(prefix = "kunkun")//注解的作用就是找到前缀是kunkun的配置项
public class Student { //后缀必须和变量名称相同才可以被识别
private String name; private int age;
}

这边的代码表示将配置项映射的类。@Component表示这个类是spring容器中的一个bean。下边是测试代码:

@SpringBootTest
class ApplicationTests { @Autowired
private Student student; @Test
void contextLoads() {
System.out.println(student.getAge());
System.out.println(student.getName());
} }

结果可以看出来我们成功读出了配置项。

最新文章

  1. ionic + cordova+angularJs 搭建的H5 App完整版总结
  2. js self = this的解释
  3. margin:0 auto 与 text-align:center
  4. 今天看了shell大神的写的一个统计脚本
  5. 学习笔记day6:CSS3动画属性
  6. Gym 100285G Cipher Message 3
  7. Unity3D-Baked Lightmapping 示例学习
  8. jquery图片轮播-插件
  9. Keil C -WARNING L15: MULTIPLE CALL TO SEGMENT
  10. JS常见操作
  11. 常用oralce_sql
  12. Mysql与PostgreSQL小pk
  13. 安卓高级8 SurfaceView案例二 自定义相机
  14. 通过 docker 搭建自用的 gitlab 服务
  15. 在linux系统中实现各项监控的关键技术(1)--cpu使用率的计算
  16. Cocos2d-js3.3 模态对话框的实现
  17. Windows文件夹、文件源代码对比工具--WinMerge
  18. Java验证码
  19. Firemonkey的几个特色属性(二)
  20. 1、Keepalived及VRRP原理介绍

热门文章

  1. unity-Timeline实践
  2. Oracle RMAN 异机恢复一例
  3. 设计模式:chain of responsibility模式
  4. Monster Audio 使用教程(一)入门教程 + 常见问题
  5. DJANGO-天天生鲜项目从0到1-009-购物车-Ajax实现添加至购物车功能
  6. 放弃dagger?Anrdoi依赖注入框架koin
  7. Android应用内部实现多语言,一键切换语言,国际化适配
  8. linux dig 命令使用
  9. JFinal笔记
  10. 真香!Linux 原来是这么管理内存的