SpringBoot中META-INF/spring.factories文件和application.properties或application.yml文件的区别

META-INF/spring.factoriesapplication.propertiesapplication.yml 文件都是 Spring Boot 应用程序中非常重要的配置文件,但它们的作用和使用方式有所不同。

META-INF/spring.factories 是一个标准的 Java 服务加载机制,用于在 Spring Boot 启动过程中查找和加载所有的自动配置类。该文件中的每条记录都指定了一个或多个自动配置类的全限定名,这些配置类会在 Spring Boot 启动时被加载并应用到应用程序中。

例如,在 META-INF/spring.factories 中定义了如下的记录:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.example.MyAutoConfiguration

这意味着 MyAutoConfiguration 类是一个自动配置类,并且在 Spring Boot 启动时会被加载和应用到应用程序中。

application.propertiesapplication.yml 则是用于设置应用程序各种配置属性的文件,在 Spring Boot 应用程序中,这些属性通常包括数据库连接信息、服务器端口号、日志级别等等。Spring Boot 会在启动过程中读取这些文件,并将其转换为应用程序运行时需要的相应配置信息。

例如,可以在 application.properties 中定义以下配置属性:

server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=myuser
spring.datasource.password=mypassword
logging.level.root=INFO

这些属性会告诉应用程序使用 8080 端口监听请求,并连接到名为 mydb 的 MySQL 数据库,并设置根日志记录器的日志级别为 INFO。

在 Spring Boot 应用程序启动时,会首先加载 META-INF/spring.factories 文件中定义的所有自动配置类,并将其应用到应用程序中。这些自动配置类通常会根据应用程序的环境和依赖关系来设置一些默认的配置属性。

然后,Spring Boot 会读取 application.propertiesapplication.yml 文件中配置的属性值,并覆盖或补充自动配置类中设置的默认属性值。因此,通过在这些文件中配置自己需要的属性,可以实现自定义配置和覆盖默认配置的功能。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值