当前位置: 首页 > news >正文

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 中修改对应的参数即可,不需要推翻默认设定。

好处:

  • 提升开发效率:不用重复写模板化的配置代码。
  • 团队协作更统一:大家遵守相同的约定,代码结构更一致。

相关文章:

  • 【AIGC系列】1:自编码器(AutoEncoder, AE)
  • Win10登录Samba服务器报用户名密码错误问题解决
  • 测试工程师玩转DeepSeek之Prompt
  • ubuntu22.04的docker容器中安装ssh服务
  • 机器学习数学基础:32.斯皮尔曼等级相关
  • 机器学习数学基础:36.φ相关系数分析
  • iOS指纹归因详解
  • C++ Primer 额外的string操作
  • MySQL入门:高频操作命令大全
  • Java 实现快速排序算法:一条快速通道,分而治之
  • 超详细介绍map(multimap)的使用
  • JVM生产环境问题定位与解决实战(二):JConsole、VisualVM到MAT的高级应用
  • 【原创】Windows11安装WSL“无法解析服务器的名称或地址”问题解决方法
  • rust 前端npm依赖工具rsup升级日志
  • 独立开发者之Google Analytics使用教程
  • 文字语音相互转换
  • 玩机日记 11 解决fnOS识别不了虚拟核显的问题
  • 01-03基于vs2022的c语言笔记——软件安装,写程序前的准备,初识c语言
  • pyecharts介绍
  • 从基础到模块化:深度解析RAG技术演进如何重塑AI知识边界
  • 六省会共建交通枢纽集群,中部六省离经济“第五极”有多远?
  • 媒体:“重病老人银行取款身亡”涉事家属称已和解,银行将支付十万
  • 泽连斯基抵达安卡拉,称乌将派出最高级别代表团参与谈判
  • 习近平向多哥新任领导人致贺电
  • 今年有望投产里程已近3000公里,高铁冲刺谁在“狂飙”?
  • 株洲一重病妇女被要求本人到银行取款时去世?当地警方:正在处理