📌 一句话总结
👉 你遵守约定,框架就替你干活;你越想自定义,框架越要你解释半天。
🧠 1. “约定大于配置”到底是啥?
【框架已准备好默认规则】
↓
你只要按规则放文件 / 写类名 / 写注解
↓
【自动生效 ✔】
反之:
【你想改规则】
↓
你写更多配置
↓
【复杂度 ↑ 出问题概率 ↑】
一句话:
框架给你铺好了高速公路,你别非要自己铲土再修一条小路。
🗂️ 2. 对比更直观:表格上墙!
| 项目 | 遵守约定(推荐) | 破坏约定(你会哭) |
|---|---|---|
| 代码量 | ✨ 极少 | 🧱 一坨配置 |
| 开发速度 | 🚀 很快 | 🐢 像乌龟背锅跑 |
| 团队协作 | 🤝 无需沟通 | 😵 新人看了直接心梗 |
| 可维护性 | 💚 高 | 🔥 地狱模式 |
| bug 概率 | ⬇️ 低 | ⬆️ 高 |
🧩 3. Spring Boot 经典示例
✔ 遵守约定(轻松)
@RestController
public class UserController {}
你写了 2 行,它帮你做 5 件事:
| 任务 | 是否自动完成? |
|---|---|
| 扫描类 | ✔ |
| 加载 Bean | ✔ |
| 注册 Controller | ✔ |
| 挂载路由 | ✔ |
| 注入依赖 | ✔ |
你像按了一个快捷键,框架帮你摆好所有桌子椅子。
❌ 破坏约定(自找罪受)
@Configuration
@ComponentScan(basePackages = "com.xxx.xxx.xxx.xxx")
效果如下:
你的自定义 → 框架懵逼 → 你继续写配置 → 你更懵逼
就像别人给你留了钥匙,你非要把窗户撬开进去。
🌟 4. 约定的三大好处
| 好处 | 说明 |
|---|---|
| ✂️ 更少代码 | 写得少=错得少,生活更甜。 |
| 🎯 结构统一 | 项目变得像酒店房间:一打开就知道东西在哪。 |
| 🌬 开发体验顺 | 不用写废话,不用读废话,不用猜框架想什么。 |
🔥 5. 不遵守约定会怎样?
- 🧨 配置爆炸
- 🐙 项目像章鱼一样乱甩触手
- 😭 新人上来直接喊:“这是谁写的?!”
- 🕯 你晚上查日志查到怀疑人生
一句话:
越自定义,越有风险;越偏离约定,越像野路子项目。
🛠 6. 什么时候可以稍微“不听话”?(但要有理由)
| 情况 | 可以破例吗? |
|---|---|
| 默认行为无法覆盖业务 | ✔ 必须 |
| 架构设计特殊要求 | ✔ 可以 |
| 团队已统一共识 | ✔ 允许 |
| 只是你“想试试别的写法” | ❌ 别添乱 |
原则:
除非真的必要,否则不要动框架默认值。
🎬 最后的总结(短、稳、暖)
约定,是框架给你的温柔;
配置,是你付出的代价。
遵守约定,是效率、质量和团队协作的共同捷径。