如何学习Spring Boot

Spring Boot了解

定义

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

同类技术

Spring Data

Spring数据的任务是提供一种熟悉的、一致的、基于Spring的数据访问编程模型,同时仍然保留底层数据存储的特殊特性。它使得使用数据访问技术、关系和非关系数据库、地图减少框架以及基于云的数据服务变得容易。这是一个包含许多特定数据库的子项目的伞项目。这些项目是通过与这些令人兴奋的技术背后的许多公司和开发人员一起合作开发的。

Spring AMQ

Spring AMQP项目将核心Spring概念应用于基于AMQP的消息解决方案的开发。它提供了一个“模板”作为发送和接收消息的高级抽象。它还为消息驱动的POJOs提供了一个“侦听器容器”的支持。这些库促进了AMQP资源的管理,同时促进了依赖注入和声明性配置的使用。在所有这些情况下,您将看到Spring框架中JMS支持的相似性。该项目由两部分组成:Spring AMQP是基础抽象,Spring Rabor是RabByMQ实现。

Spring Mobile

Spring Mobile是一个框架,它提供了检测向Spring网站发出请求的设备的类型以及基于该设备提供替代视图的能力。就像所有的弹簧项目一样,弹簧手机的真正力量在于它能容易地扩展。

Spring for Andriod

Spring for Android是一个框架,它被设计成提供Spring系列项目的组件供Android应用程序使用。与所有的Spring项目一样,Android的真正强大之处在于它可以容易地扩展。

Spring Web Flow

Spring Web流建立在Spring MVC之上,并允许实现Web应用程序的“流”。流程封装了一系列步骤,引导用户执行某些业务任务。它跨越多个HTTP请求,具有状态,处理事务数据,可重用,本质上是动态的和长期的。

Spring Web Service

Spring Web服务(Spring WS)是Spring社区的一个产品,专注于创建文档驱动的Web服务。Spring Web Services旨在促进契约优先的SOAP服务开发,允许使用操纵XML有效负载的许多方法之一创建灵活的Web服务。该产品基于Spring本身,这意味着您可以将Spring概念(如依赖项注入)用作Web服务的一个组成部分。

优缺点

优点:

(1) 快速构建项目
(2) 对主流开发框架的无配置集成;
(3) 项目可独立运行,无须外部依赖Servlet容器;
(4) 提供运行时的应用监控;
(5) 极大的提高了开发,部署效率;
(6) 与云计算的天然集成。

缺点

1.从原来的xml配置方式转换到JAVA配置方式变化有点大,不太适应
2.感觉Spring Boot 比较适合做微服务,不适合做比较大型的项目。

组成部分

spring-boot模块

该模块提供了一些特性用来支持springboot中其他模块,这些特性包含如下。
SpringApplication类提供了静态方法以便于写一个独立了spring应用程序,该类的主要职责是create和refresh一个合适的Spring 应用程序上下文(ApplicationContext)
给web应用提供了一个可选的web容器(目前有Tomcat或Jetty)
一流的外部配置的支持(application.properties)
提供了便捷的应用程序上下文(ApplicationContext)的初始化器,以便在ApplicationContext使用前对其进行用户定制。

spring-boot-autoconfigure模块

springboot可以依据classpath里面的依赖的内容来自动配置bean到IOC容器,但是要开启这个自动配置功能需要添加@EnableAutoConfiguration注解。Auto-configuration会尝试推断哪些beans是用户可能会需要的。比如如果HSQLDB包在当前classpath下,并且用户并没有配置其他数据库链接,这时候Auto-configuration功能会自动注入一个基于内存的数据库连接到应用的IOC容器。
目前 auto-configuration 提供以下类型的注入:
Web (Tomcat or Jetty, Spring MVC)
JDBC (Commons DBCP, embedded databases, jdbcTemplate)
JPA with Hibernate
Spring Data JPA (automatically detecting Repository classes)
Spring Batch (including JobLauncherCommandLineRunners and database initialization)
Thymeleaf templating
Reactor asynchronous JVM programming

spring-boot-starters模块

Starters是一组可以方便使用的依赖描述,starter里面一般只有一个POM文件,pom文件里面添加了Spring框架和一些相关的功能模块的依赖配置,你需要使用某些功能时候在也不需要到处查找需要的功能都是那些jar包提供的并配置到POM文件了。比如如果你想要使用Spring和JPA作为数据库存取,你需要引入spring-boot-starter-data-jpa在你的工程即可。

spring-boot-actuator模块

SpringBoot还提供了许多附加功能,可以帮助我们在应用程序部署到生产环境后对其进行监控和管理。springboot提了http,jmx,shell等公交来管理和监控我们的应用程序。另外审计,监控和性能指标的收集可以自动应用到应用程序上。

spring-boot-cli模块

Spring Boot CLI是一个命令行公交用来快速搭建一个spring原型应用,并且可以运行Groovy脚本。

spring-boot-loader模块

Spring Boot Loader模块允许我们使用java -jar archive.jar运行包含嵌套依赖的jar或者war文件,

Spring Boot出现的原因

解决问题

(1) Spring Boot使编码变简单
(2) Spring Boot使配置变简单
(3) Spring Boot使部署变简单
(4) Spring Boot使监控变简单
(5) Spring的不足

Spring Boot没有出现之前的做法

Spring由于其繁琐的配置,一度被人认为“配置地狱”,各种XML、Annotation配置,让人眼花缭乱,而且如果出错了也很难找出原因。
SpringBoot的出现,改变了所有java开发的困境,SpringBoot最终奉行的宗旨:废除掉所有负责的开发,废除掉所有的配置文件,让开发变得更简单纯粹,核心“零配置”

学习方法

快速上手视频
官方实例
写DEMO
看开源代码
项目实践
与其他人分享

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

推荐阅读更多精彩内容