SpringBoot约定大于配置

SpringBoot"约定大于配置"

面试速记:

SpringBoot框架定义好的一套默认规则 ,通过预设默认规则,让你少写配置,专注于业务逻辑,这里的约定可以体现在以下三个方面:

1.做好默认配置,比如默认选择tomcat作为服务器

2.约定项目结构,比如扫描src/java/main下的代码作为源码,以及resource/static让框架能自动扫描到静态资源

3.通过application.yml简化自定义配置,只需要修改自己需要配置的参数,不需要重头配置

SpringBoot八股中有一个词就是"约定大于配置",可能是翻译诟病,总之本人看这个概念非常抽象,下面举一个例子来帮助理解,先给出概念定义:

约定大于配置是Spring Boot的核心设计理念,它通过预设合理的默认行为和项目规范,大幅减少开发者需要手动配置的步骤,从而提升开发效率和项目标准化程度。

举例

想象你买了一套精装房,开发商已经帮你铺好了地板、装好了门窗、配好了水电。你不需要自己从头设计水管怎么走、电线怎么铺,而是直接按默认的布局使用(预设合理的默认行为和项目规范)。如果某个地方不符合你的需求(比如想把厨房改成开放式),你再单独调整------这就是**"约定大于配置"**的核心思想。

所以可以看出"约定"即是框架定义好的一套默认规则 ,通过预设默认规则,让你少写配置,专注于业务逻辑


具体到 SpringBoot 中的应用:

  1. 默认做好配置选择
    SpringBoot 预设了大量开发中的常见配置(比如数据库连接、Web服务器、日志等),你不需要手动写繁琐的 XML 或代码配置。比如:
    • 默认使用内嵌的 Tomcat 作为服务器。
    • 默认扫描 src/main/java 下的代码作为项目源码。
  2. 约定项目代码结构,自动生效
    如果你遵守 SpringBoot 的约定(比如把代码放在特定的包名或目录下),框架会自动识别并生效功能。例如:
    • 把控制器类放在 com.example.demo.controller 包下,SpringBoot 会自动识别为 Web 控制器。
    • 按 Maven/Gradle 的标准目录结构存放代码,框架会自动找到资源文件。
  3. 简化配置,按需修改
    如果你需要个性化配置(比如更换数据库或端口号),只需在 application.propertiesapplication.yml 中修改对应的参数即可,不需要推翻默认设定。

好处:

  • 提升开发效率:不用重复写模板化的配置代码。
  • 团队协作更统一:大家遵守相同的约定,代码结构更一致。
相关推荐
guestsun1 小时前
SpringBoot七大事务失效场景分析
java·spring boot·mybatis
毕设源码-邱学长7 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
兑生9 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
daidaidaiyu9 小时前
一文学习 Spring 声明式事务源码全流程总结
java·spring
颜酱9 小时前
DFS 岛屿系列题全解析
javascript·后端·算法
零雲10 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
小码哥_常10 小时前
Java后端定时任务抉择:@Scheduled、Quartz、XXL - Job终极对决
后端
uzong10 小时前
Skill 被广泛应用,到底什么是 Skill,今天详细介绍一下
人工智能·后端·面试
小码哥_常10 小时前
Kafka平替!SpringBoot+Redis Stream+消费组打造极致消息队列
后端
IT_陈寒12 小时前
Redis缓存击穿:3个鲜为人知的防御策略,90%开发者都忽略了!
前端·人工智能·后端