把可能会发生改变的信息,放在一个集中的地方, 当我们启动某个程序时, 应用程序从配置文件中读取数据, 并加载运行。
使用配置文件, 可以使程序完成用户和应用程序的交互, 或者应用程序与其他应用程序的交互。
SpringBoot支持并定义了配置文件的格式,也在另一个层面达到了规范其他框架集成到SpringBoot的目的。很多项目或者框架的配置信息也放在配置文件中, 比如:
>项目的启动端口;
>数据库的连接信息(包含用户名和密码的设置);
>第三方系统的调用密钥等信息;
>Spring框架相关的配置属性:包括Spring MVC、Spring Data、Spring Security等模块的相关配置,如URL映射、数据源配置、安全认证配置等
>用于发现和定位问题的普通日志和异常日志
>第三方库和组件的配置属性:许多第三方库和组件也提供了自己的配置属性,可以在配 置文件中进行设置,以满足特定需求
它提供了一种灵活的方式,使开发人员可以根据需要来配置应用程序的各种属性,而无需修改代码。
灵活性和可配置性:
通过配置文件,可以轻松更改应用程序的行为和属性,而无需重新编译和部署代码。这使得应用程序能够适应不同的环境和需求。
避免硬编码:
将应用程序的配置信息从代码中分离出来,使得代码更加清晰、可维护和可重用。通过修改配置文件而不是代码,可以更容易地进行配置调整和部署管理。
多环境支持:
可以针对不同的运行环境(如开发环境、测试环境、生产环境)使用不同的配置文件,以适应不同环境下的需求。这样可以在不同环境下灵活切换配置,减少了手动修改的工作量。
总之,Spring Boot的配置文件是配置应用程序行为和属性的重要途径,能够实现应用程序的灵活配置和多环境支持,提高了代码的可维护性和可扩展性。
SpringBoot配置文件的格式分为三种:
- application.properties
- application.yml
- application.yaml
yml 为yaml的简写, 实际开发中出现频率最高。yaml 和yml 的使用方式一样。
1.二者都是SpringBoot的配置文件,放在java/resources目录下
2.yml 是 YAML 是缩写,它的全称 Yet Another Markup Language ,翻译就是 “另一种标记语言“。
properties文件的格式采用key=value的格式,如:
等号两侧都不留空格,
properties为早期并且是默认的配置文件格式,但其配置存在一定的冗余,而yml可以很好的解决冗余的问题。
properties文件支持以或开头的行注释。
yml 是树形结构的配置文件,它的基础语法是“key: value”,注意 key 和 value 之间使用英文冒汗加空格的方式组成的,冒号后面的空格不可省略.
前面缩进不能采用tab键,只能采用2个空格
如果格式配置错误,显示颜色不同,可以提示错误,方便修改
YAML文件支持以作为行注释。
在properties 配置文件中所配置的内容(不管是系统配置项还是自定义配置项)都可以被读取到,有多种方法:
a.创建相应的配置类,属性和配置文件中的内容对应
需要在配置类上添加@Component注解,定义为一个Bean,并加上
@ConfigurationProperties(prefix = "student")注解,对应properties中的字段,prefix可以省略,写作@ConfigurationProperties("student")
b.需要使用@Value注解
可以将@Value注解放置在字段上、方法的参数上或方法的返回值上,具体使用位置取决于你的需求,@Value(" ${ person.name } ") :利用 ${ } 可以取出配置文件中的值
需要先创建一个类,字段和配置文件中的配置项相对应
在对应的类属性上加上对应的@Value注解
测试打印
读取配置的方式和properties方法类似,可使用以上两种方法;
我们的字符串默认不用加单双引号,如果加英文的单双引号可以表示特殊的含义。
在两种配置文件中都是一样的
支持更多语言,如Java、Go、Python,如果是云开发,可以使用一份yml配置文件作为Java和Go的共同配置文件
不同平台有不同的配置文件,配置文件的名称有要求 application-xxx.(yml、properties)
我们一般将公共的配置项放在主配置文件中
在application.yml中设置运行环境:
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/23997.html