目录
- 约定优于配置
- `SpringBoot` 中的约定优于配置
- 约定优于配置的起源
约定优于配置
约定优于配置:也称作按约定编程是一种软件设计范式。目的在于减少软件开发人员所需要做出决定的数量,从而获得简单的好处,而又不失其中的灵活性。开发人员仅仅需要规定应用中不符合约定的部分
- 约定优于配置,也有很多人解读为:约定大于配置,约定好于配置,习惯大于配置等。但它们都表明了一个意思,并不是说零配置。或者说零配置并不是完全没有配置,而是通过约定来减少配置
- 约定优于配置也就是说:系统,类库,框架应该提供有合理的默认值,而非要求提供不必要的配置。使用该框架提供的默认值,会让开发人员工作起来效率更快
SpringBoot
中的约定优于配置
在 SpringBoot
中,当我们导入一个 spring-boot-starter-web
后。就会自动的帮我们导入 SpringMVC
的相关依赖(包括 Json
支持的 Jackson
和数据校验的 Hibernate Validator
)和一个内置的 Tomcat
容器,这使得在开发阶段可以直接通过 main
方法或是 JAR
包独立运行一个 WEB
项目
SpringBoot
约定,当你导入 spring-boot-starter-web
后,就约定了你是一个 web
开发环境。当你是一个 web
环境,就约定了你会使用 SpringMVC
。至于其它的也约定你会需要,都给你默认导入进来。当你觉得不合适的时候,可以用更少的改动,满足你的需要
约定优于配置,在我们的实际生活中也有体现。比如,我们约定靠右行驶,我们约定从小右手拿筷子等。正是 SpringBoot
的小约定,大作用,才让越来越多的人爱上它
约定优于配置的起源
Spring
在推动 约定优于配置
这一设计理念,从 Spring
的注解版本就已经开始了。引入注解就是为了减少一些默认配置,引入注解也就代表着简化配置的开始,官方说基于 Spring
的基础就是这个事实
SpringBoot
约定以 starter
的形式减少依赖,于是相继推出了不少常用的 starter