Spring Boot—— 入门+进阶+实例

在了解Spring Boot之前应该先了解下Spring,因为Spring Boot的核心是基于Spring构建的。Spring是由Rod Johnson在2002年创建的一个开源框架,Spring在创建到现在一直处于飞速发展之中。目前已经成为J2EE开发中的事实标准。但是随着IT技术的飞速发展,及IT项目变得越来越复杂。如果学习过Spring就知道Spring非常依赖xml文件进行配置,有时一个项目就有几十个xml配置文件,这些繁琐的配置、以及Spring整合第三方框架的配置问题。经常导致开发效率低下,一不小心就出现丢三拉四;有时一不留神就导致发版失败,给公司造成经济损失。

Spring Boot是由Pivotal团队打造的,并在2014年发布的一个全新框架,其设计目标就是用来简化Spring应用的搭建、开发及部署。Spring Boot采用了特定的方式进行配置,从而达到使开发人员不在需要配置繁琐的xml文件。简单的说其实Spring Boot并不是什么新的框架,就是摒弃了xml的配置方式,使用了一种新的配置方式;然后在maven中使用starter的方式整合了很多第三方框架,同时提供了很多默认的配置参数。

Spring Boot官网(https://spring.io/projects/spring-boot/ )有如【图1】一段话:

【图1】

这段话这段话跟我上面的解释大同小异。

Spring Boot为啥不学不行

Spring Boot在短短四年就已经由1.0发展到2.0了;而且就这短短四年就已经红遍神州大地。无论小公司,还是大企业,都在使用。

1.Spring Boot能干啥

打开Spring官网(https://spring.io/ ),映入我们眼帘的是如下一张图【图2】:

【图2】

看图中框住的那块知道,Spring官方对Spring Boot的定位是Build Anything,意思就是Spring Boot可以构建任何东西。Spring Boot旨在快速、高效,使用最少的配置构建Java应用。学完了Spring Boot,还有更高级的Spring Cloud和Spring Cloud Data Flow。

Spring Cloud的定位是Coordinate Anything (协调任何东西)

Spring Cloud Data Flow的定位是Connect Everything (连接任何东西)

仔细斟酌一下Spring Cloud和Spring Cloud Data Flow,发现Cloud和Data 都跟现在最火的技术关联在一起,Cloud对应云,Data对应数据。而Spring Cloud和Spring Cloud Data Flow有基于Spring Boot,所以Spring Boot必须先学。

2.企业招聘对Spring Boot的要求及Spring Boot的百度搜索指数

打开国内比较知名的招聘网站,例如在猎聘网搜索一下,可以发现很多Java相关的职位都对Spring Boot技术有所要求。如下【图3】这个Oralce公司的招聘职位,在招聘的职位描述里就对Spring Boot有要求。

【图3】

Spring Boot嫣然已经成为Java程序员打怪升级的必备技能。就不说Spring Boot有多重要了。

再看下Spring Boot的这个关键字的百度搜索指数(http://index.baidu.com),Spring Boot从2014年推出到现在,Spring Boot在百度的搜索指数一直处于稳步增长的状态中【图4】。说明程序员或者公司对Spring Boot关注度非常高。

【图4】

3.Spring Boot的好处

使用了Spring Boot后,能给开发人员带来哪些好处?能给运维人员带来哪些方便?甚至说能给公司带来哪些经济效益?看图【图5】说话:

【图5】

1.基于Spring

Spring Boot基于Spring,所以Spring有的优点Spring Boot也有,不需要开发人员去学习一个全新的框架,学习门槛相对降低。

2.快速编码

Spring Boot的依赖包都是基于maven的pom文件提供的,而Spring Boot本身就集成了特别多的第三方框架。以前开发Spring应用时,需要用到的第三方框架的库都需要开发人员一个一个去寻找;现在不需要了,有些可能只需引入一个pom.xml,就能把大量需要用到的第三方库自动引入到项目中。所以减少了开发工作量,实现快速编码。

3.模块化

基于Spring Boot开发的项目可以非常简单的实现模块化编程,这样的话可以非常有效的实现项目的分工合作,减少开发过程中的代码冲突。模块化编程还可以非常高效的实现减少代码的改动量,按需修改模块,降低生产发生事故概率。

4.配置简单

在文章开头就说了Spring Boot摈弃了繁琐的xml配置文件,大量的配置文件经常是导致生产事故的原因。Spring Boot大量采用yml形式的配置文件再加上相应的Annotation,从而大大减少了配置文件的个数,因为以前的Spring应用引入一个第三方框架说不定就要添加一个配置文件。举个例子,比如项目中要引入数据库连接池HikariCP,就需要添加一个关于HikariCP数据库连接池的配置文件,但是使用了Spring Boot采用HikariCP可能就只需要那么几行配置就可以了,因为Spring Boot默认集成HikariCP数据库连接池,提供了很多默认的配置。

5.便捷部署

Spring Boot天生就是为了简单、快捷部署而生。SpringBoot内嵌了Tomcat,不需要额外部署应用服务器Tomcat,只需简单一个Java运行环境即可,而且启动的命令也非常简单:java –jar xxx-release.jar。同时Spring Boot结合现在非常火的技术 Docker、Kubernetes可以快速实现集群部署。

6.有效监控

Spring Boot集成了非常高效的监控框架,只要简单引入对spring-boot-start-actuator的依赖,就可以实现对服务性能的监控。结合Spring Cloud就可以实现对整个微服务链路的全天候监控。

彩蛋

作者借助51CTO订阅专栏平台,上线了专栏《Spring Boot实战:快速构建项目》,实战构建Java应用!!!

本课程你能学到什么

课程中使用Spring Boot相对较新版本2.0.4.RELEASE,文中的例子均是小编在工作中用到的场景、或遇到的问题。目的是让Spring Boot学习者快速上手,同时学扎实Spring Boot是向Spring Cloud迈进的必经之路。课程主要非常三部分:基础篇、进阶篇和项目篇

基础篇(1-15):主要介绍Spring Boot中常用的功能和要点,在这个阶段里将讲到Spring Boot的环境搭建、日志框架logback的使用、获取properties配置文件的常用方式、模板引擎Thymeleaf、跨域访问的实现、HikariCP数据源的使用等,学完这十五篇能达到使用Spring Boot快速搭建项目,实现基本的CURD功能。

进阶篇(16-22):这个阶段主要讲解Spring Boot整合一些现在互联网公司常用到的中间件,包括Spring Boot整合Redis、Spring Boot实现任务调度处理、Spring Boot如何使用消息中间件ActiveMQ实现消息队列处理、如何使用全文检索Elasticsearch、流程引擎Activiti、规则引擎Drools等。

项目篇(23-26):主要使用一个小项目把前22讲说到的技术串起来,目的让大家对这些技术的使用场景有一个全局概念。什么情况场景到这个框架、什么场景用到那个框架。认真的学完,并加以思考;达到举一反三,触类旁通。差不多就可以正在的开发Spring Boot项目了。一句话:高徒出名师。

你是否适合学习本课程

1.有Java语言开发基础,对Spring、Maven有一定了解的在校学生、初学者或者自学者

2.对新技术Spring Boot感兴趣的开发者

3.有传统行业IT项目经验,以后想往Spring Cloud微服务发展的工作人员

4.想对Spring Boot有一个整体了解的相关人员

开发环境及用到的相关技术

开发环境:

1.开发工具:Eclipse(对IDEA熟悉的人员可以自行使用IDEA)

2.使用JDK 的版本为1.8

3.使用Spring Boot的版本为2.0.4.RELEASE

使用的Maven版本为3.5.0

其中Spring Boot 2.0.4版本要求JDK最低版本为1.8,所以不能随意改变;但是Eclipse和Maven的版本可以选择高一点或者低稍许的版本都没问题,不要差太远即可。

用到的相关技术:

FastJson

Thymeleaf

MyBatis

Redis

Logback

HikariCP

Elasticsearch

Activiti

Drools

Quartz

在讲解过程中可能还会用到其他技术,这里就不一一列举了,同时讲解中的项目用到以上技术的版本可以自行选择,不过尽量跟项目中的一致。

以上就是我个人的分享,更多精彩Java技术交流833216312具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加群。 在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加群。 如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的可以加群。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容