目录

  • 约定优于配置
  • `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

SpringBoot中的约定优于配置相关推荐

  1. SpringBoot自问世以来,一直有一个响亮的口号“约定优于配置“

    我们都知道SpringBoot自问世以来,一直有一个响亮的口号"约定优于配置",其实一种按约定编程的软件设计范式,目的在于减少软件开发人员在工作中的各种繁琐的配置,我们都知道传统的 ...

  2. springboot约定优于配置的体现

    约定优于配置的体现主要是 1. maven的目录结构 a) 默认有resources文件夹存放配置文件 b) 默认打包方式为jar 2. spring-boot-starter-web中默认包含spr ...

  3. Struts2 ActionWildcard(通配符配置)约定优于配置

    新建web project:struts2_0500_actionwildcard Build Path 项目图: src: StudentAction.java TeacherAction.java ...

  4. SpringMVC介绍之约定优于配置

    2019独角兽企业重金招聘Python工程师标准>>> SpringMVC介绍之约定优于配置 所谓的约定优于配置就是指在程序开发过程中我们约定好一些规则可以使我们更少的进行配置和代码 ...

  5. “约定优于配置”与Magento改造尝试四之block、helper和model载入

    暂定本章为这个系列最后一章,还是继续沿用模块的别名(alias)概念 <modules><Mage_Wishlist><version>1.6.0.0</ve ...

  6. RabbitMq学习笔记002---RabbitMq在SpringBoot中的应用_配置_使用_并且设置优先级

    JAVA技术交流QQ群:170933152 首先新建一个SpringBoot的工程,空的就可以: 可以用idea 也可以用eclipse,也可以用sts,这类工具都可以 E:\StsWorkSpace ...

  7. 超简单的Springboot中的日志管理配置

    本案例中可以了解,怎么配置日志的输出路径,输出格式(比如说zip格式),按日期进行划分(今天的日志输出为一个文件,明天的日志输出到另一个文件),在按日期划分的同时又按文件大小划分(比如说每天的日志记录 ...

  8. SpringBoot中多数据源的配置

    1.场景还原 在实际项目中,一个工程配置多个数据源很常见,工程可能会根据业务或者模块访问不同的数据库或表:今天笔者就springboot中配置多数据源作个详细的讲解 2.实现方案 注意:一个应用工程中 ...

  9. SpringBoot中使用类型安全的配置来注入大量自定义属性

    场景 使用@Value注入每个自定义属性很麻烦,当自定义属性很多时就需要注入很多次. SpringBoot提供了基于类型安全的配置方式,通过@ConfigurationProperties将prope ...

  10. springboot中关于springMvc默认配置,配置扩展,全面接管

    1. apringMvc自动配置 springBoot整合springMVC时,提供了大量的自动化配置,相关的配置可查看org.springframework.boot.autoconfigure.w ...

最新文章

  1. 常用[js,css,jquery,html]
  2. 解密中国研发团队如何开发VS2010新特性
  3. 因为这两天比较忙,所以没有及时把要发表的东西写来.废话少说:我前面把两个简单的滚动说了下.接下来介绍第三种集合循环滚动....
  4. exp-imp实现oracle不同表空间的迁移
  5. shell python比较_shell中的条件判断以及与python中的对比
  6. ei加声调怎么加_ei在e还是i上标声调
  7. ueditor1_4_3-utf8-jsp 配置实现上传图片的功能
  8. Java加密算法(十一)——双向认证
  9. 拓端tecdat:matlab数据可视化交通流量分析天气条件、共享单车时间序列数据
  10. 基于java的cad_基于JavaCAD架构的安全性与IP保护研究
  11. win7 计算器 android,强大的Win7计算器
  12. 在局域网被网络管理员限制了远程连接的默认端口3389,导致无法远程桌面连接
  13. [剑指offer]-导航总结篇
  14. 【期望】几何分布的期望
  15. 3蛋白wb_99% 的实验小白都会收藏,WB、ELISA、IHC 进阶攻略
  16. 现代函数概念的“序偶”定义
  17. python字符串操作符-python字符串操作
  18. 利用计算机解决古代数学问题鸡兔同笼,古代趣味数学:鸡兔同笼的4种算法,你都能看懂吗?...
  19. 语音信号预处理大牛信息
  20. [saiku] 简介、下载、安装和教程

热门文章

  1. SwiftUI 生命周期onAppear,onDisappear
  2. TouchId iOS简明教程
  3. mysql读写分离中间件都有哪些_MySQL读写分离中间件Atlas
  4. No matching distribution found for docx(配置cmd控制台代理)
  5. itext生成pdf间距_java将html转为pdf
  6. python 日志框架_按日期打印Python的Tornado框架中的日志的方法
  7. LDA线性判别原理解析<数学推导>
  8. 【面向代码】学习 Deep Learning(三)Convolution Neural Network(CNN)
  9. 【SPOJ - DQUERY】D-query【主席树 —— 区间中不同数的个数】
  10. 【2019南昌邀请赛网络赛 J】Distance on the tree【边权树剖+主席树】