作者简介:大家好,我是码炫码哥,前中兴通讯、美团架构师,现任某互联网公司CTO,兼职码炫课堂主讲源码系列专题
代表作:《jdk源码&多线程&高并发》,《深入tomcat源码解析》,《深入netty源码解析》,《深入dubbo源码解析》,《深入springboot源码解析》,《深入spring源码解析》,《深入redis源码解析》等
联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬。码炫课堂的个人空间-码炫码哥个人主页-面试,源码等
回答
“约定大于配置”是 Spring Boot 的核心理念之一,目的是简化开发过程,减少我们在配置上的繁琐工作。具体来说,就是 Spring Boot 通过一系列的默认设置和约定,减少了我们需要显式配置的内容,从而让我们专注于业务逻辑,而不必过多关注框架的配置细节。
它主要从以下几个方面体现:
- 默认配置:Spring Boot 提供了大量的默认配置,一些常见的框架,如 MySQL、redis、JPA 等等,我们可以在不做任何额外配置的情况下就可以自动工作。
- 自动化配置:Spring Boot 可以通过
@EnableAutoConfiguration
注解和大量的自动配置类(@Configuration
)来自动根据项目的类路径和环境来选择合适的配置。例如,当 Spring Boot 检测到我们使用了 H2 数据库,它会自动配置一个内存数据库的连接。 - 外部化配置:通过
application.properties
或