未经允许,不得转载

原作者:字母哥博客

本文完整系列出自:springboot深入浅出系列

一、前置说明

本节大纲

  • spring boot 诞生的背景
  • Spring boot 改变了什么
  • Spring Boot主要特性
  • Spring Boot集成第三方开源组件的步骤

二、spring boot诞生的背景

在spring boot出现以前,使用spring框架的程序员是这样配置web应用环境的,需要大量的xml配置。

  • 随着web项目集成软件的不断增多,xml配置也不断的增多,xml配置文件也在不断地增多,项目的依赖管理也越发的复杂。spring框架也因此饱受争议,配置文件难以理解且容易出错。
  • xml配置文件不但复杂,而且绝大部分属于模板配置,也就是说有80%以上的配置是不断重复的。也就是说在这个web项目里面这样配置,挪到另一个项目里面这部分配置仍然相同。

因此,像JFinal这种轻量级的web开发框架,因为其简单易用的特性,而逐渐的有了很大发展的空间。在 2013 年的 SpringOne 2GX 会议上,Pivotal 的 CTO Adrian Colyer 回应了关于spring框架使用复杂度的问题,并且特别提到该平台将来的目标之一就是实现免 XML 配置和提供更佳开发体验。 也就是我们今天使用到的spring boot的诞生的原因。

举一个例子:自己接电线与标准化插座 Spring Boot的配置方式,就像是插头插座,就是这个标准。你第三方开源类库想接入进来,你就做一个starter的适配。spring MVC方式就像是手动接电线,很灵活,但是不同的人接出来的效果千差万别,而且很容易出错。Spring boot虽然灵活性不如Spring MVC的方式,你也不太清楚插座里面的线路是什么样,但就是方便易用。话说回来,当你习惯使用插头插座,方便易用,你还期望自己是个电工不成?

三、spring boot 改变了什么

Spring Boot 的目标不在于为已解决的问题领域提供新的解决方案,而是为平台带来另一种新的开发体验,从而简化对这些已有技术的使用。

  • 使配置变简单
  • 使监控变简单
  • 使部署变简单
  • 使开发变简单

具体这些改变如何得以体现,请学习后面的章节!

四、Spring Boot主要特性

  • 遵循“约定优于配置”的原则,简化配置
  • 可以完全脱离XML配置文件,采用注解配置和java Config
  • 内嵌Servlet容器,应用可用jar包执行:java -jar
  • 快速完成项目搭建、整合第三方类库,方便易用
  • 提供了starter POM, 能够非常方便的进行包管理, 简化包管理配置
  • 与Spring cloud天然集成,spring boot是目前java体系内实现微服务最佳方案

五、Spring Boot集成第三方类库的步骤

  1. 通过maven引入springboot-XXXX-starter
  2. 修改ymal或properties全局统一配置文件
  3. 加入一个Java Config。这个属于个性化配置,如果使用通用配置,这一步不需要。

有哪些官方已经默认集成的类库?请参考:https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-starter

未经允许,不得转载

原作者:字母哥博客

本文完整系列出自:springboot深入浅出系列

本篇文章由一文多发平台ArtiPub自动发布

最新文章

  1. Sublog: 支持Markdown和语法高亮的跨平台博客客户端
  2. Memcached的配置和使用
  3. Linux 性能工具 - sar学习
  4. poj 2127 LCIS 带路径输出
  5. Umbraco(5)-Creating Master Template Part 1(翻译文档)
  6. Leetcode-Read N Characters Given Read4 II
  7. HTML5 随音乐节奏变化的频谱图动画
  8. 月下载量上千次的APP源码分享
  9. 第46条:for-each循环优先于传统的for循环
  10. LAMP 环境搭建之源码包编译安装
  11. Net分布式系统之七:日志采集系统(1)
  12. 201521123078 《Java程序设计》第6周学习总结
  13. Go学习——go+channel实战(转)
  14. Android项目-高考作文项目架构(三)
  15. winform 实现类似于TrackBar的自定义滑动条,功能更全
  16. form单选框
  17. 将一个js项目改造成vue项目
  18. Solve error LNK2001 about pcl::io::vtkPolyDataToPointCloud
  19. 《Linux 文本处理》- awk 分析 nginx 日志
  20. Direct2D教程III——几何(Geometry)对象

热门文章

  1. Servlet 常用API学习(三)
  2. Scratch 3下载,最新版Scratch下载,macOS、Windows版
  3. 【故障公告】升级阿里云 RDS SQL Server 实例故障经过
  4. 关于turtle画蟒蛇小实例
  5. 2017ACM总结
  6. 牛客小白赛5 无关(relationship) 容斥原理(计算因子数的模板)
  7. np问题(大数阶乘取模)
  8. 基于.net EF6 MVC5+WEB Api 的Web系统框架总结(3)-项目依赖注入
  9. mybatis plus使用redis作为二级缓存
  10. git合并出现冲突