前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何理解 SpringBoot 中的约定优于配置

如何理解 SpringBoot 中的约定优于配置

作者头像
业余草
发布2019-05-13 19:17:44
3.8K0
发布2019-05-13 19:17:44
举报
文章被收录于专栏:业余草业余草

第一时间获取技术干货和业界资讯!

640?wx_fmt=png
640?wx_fmt=png

大约是两年前,有同事给我说到,SpringBoot 中约定优于配置是什么意思?是不需要配置吗?不需要配置问什么还有配置文件?

640
640

关于这个问题,我相信也困扰着不少人,而面试中也有不少人会被问到。今天抽个时间,我们一起来讨论讨论,如何理解这句话!

约定优于配置,也有很多人解读为:约定大于配置,约定好于配置,习惯大于配置等。但它们都表明了一个意思,并不是说零配置。或者说零配置并不是完全没有配置,而是通过约定来减少配置。

约定优于配置是一个简单的概念。系统,类库,框架应该假定合理的默认值,而非要求提供不必要的配置。在大部分情况下,你会发现使用框架提供的默认值会让你的项目开发起来效率更快。

约定优于配置。并不是一个新套路,新技术,新思想。而是原来就一直存在的,SpringBoot 只不过是把它放大了,并真正的做到了约定优于配置。

比如,我们在日常开发过程中。你有一个 xttblog 表,那么可能就对应的有一个 Xttblog 的实体类。这其实就是一种约定。

在 SpringBoot 中,当我们导入一个 spring-boot-starter-web 后。就会自动的帮我们导入 Spring MVC 的相关依赖(包括 Json 支持的 Jackson 和数据校验的 Hibernate Validator)和一个内置的 Tomcat 容器,这使得在开发阶段可以直接通过 main 方法或是 JAR 包独立运行一个 WEB 项目。

SpringBoot 约定,当你导入 spring-boot-starter-web 后,就约定了你是一个 web 开发环境。当你是一个 web 环境,就约定了你会使用 SpringMVC(Struts2 之类的就拜拜了,因为不是亲生的,而且确实没 SpringMVC 使用率高)。至于其它的也约定你会需要,都给你默认导入进来。当你觉得不合适的时候,可以用更少的改动,满足你的需要。

Spring 在推动“约定优于配置”这一设计理念,从 Spring 的注解版本就已经开始了。引入注解就是为了减少一些默认配置,引入注解也就代表着简化配置的开始,官方说基于 spring 的基础就是这个事实。

SpringBoot 约定以 starter 的形式减少依赖,于是相继推出了不少常用的 starter。

约定优于配置。在我们的实际生活中也有体现。比如,我们约定靠右行驶,我们约定从小右手拿筷子等。正是 SprigBoot 的小“约定”,大作用,才让越来越多的人爱上它。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年04月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档