如何学习SpringBoot
是什么
- 百科定义
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
-
同类技术有哪些
Spring Cloud、Spring Framework、Spring Integration、Spring Batch、…… -
对比同类的优缺点
- 优点
1.去除了大量的xml配置文件
2.简化复杂的依赖管理
3.配合各种starter使用,基本上可以做到自动化配置
4.快速启动容器
5.配合Maven或Gradle等构件工具打成Jar包后,Java -jar 进行部署运行简单
6.创建独立Spring应用程序,嵌入式Tomcat,Jetty容器,无需部署WAR包,简化Maven及Gradle配置,尽可能的自动化配置Spring,直接植入产品环境下的实用功能,比如度量指标、健康检查及扩展配置等,无需代码生成及XML配置。 - 缺点
1.Spring Boot 比较适合做微服务,不适合做比较大型的项目
2.将现有或传统的Spring Framework项目转换为Spring Boot应用程序是一个非常困难和耗时的过程。它仅适用于全新Spring项目。
3.集成度较高,使用过程中不太容易了解底层。
- 优点
-
组成部分
1.spring-boot模块:该模块提供了一些特性用来支持springboot中其他模块
2.spring-boot-autoconfigure模块:springboot可以依据classpath里面的依赖的内容来自动配置bean到IOC容器,但是要开启这个自动配置功能需要添加@EnableAutoConfiguration注解。Auto-configuration会尝试推断哪些beans是用户可能会需要的。
3.spring-boot-starters模块:Starters是一组可以方便使用的依赖描述,starter里面一般只有一个POM文件,pom文件里面添加了Spring框架和一些相关的功能模块的依赖配置,你需要使用某些功能时候在也不需要到处查找需要的功能都是那些jar包提供的并配置到POM文件了。
4.spring-boot-actuator模块:SpringBoot还提供了许多附加功能,可以帮助我们在应用程序部署到生产环境后对其进行监控和管理。springboot提了http,jmx,shell等公交来管理和监控我们的应用程序。另外审计,监控和性能指标的收集可以自动应用到应用程序上。
5.spring-boot-cli模块:Spring Boot CLI是一个命令行公交用来快速搭建一个spring原型应用,并且可以运行Groovy脚本。
6.spring-boot-loader模块:Spring Boot Loader模块允许我们使用java -jar archive.jar运行包含嵌套依赖的jar或者war文件,Spring Boot Loader提供了三种类启动器 (JarLauncher, WarLauncher and PropertiesLauncher),这些类启动器的目的一样都是加载嵌套在jar里面的资源(比如class文件,配置文件等)。 -
为什么会出现
-
解决什么问题
Spring由于其繁琐的配置,一度被人认为“配置地狱”,各种XML、Annotation配置,让人眼花缭乱,而且如果出错了也很难找出原因。Spring Boot更多的是采用Java Config的方式,对Spring进行配置。- SpringBoot帮助开发者快速搭建Spring框架
- SpringBoot帮助开发者快速启动一个Web容器
- SpringBoot继承了原有Spring框架的优秀基因
- SpringBoot简化了使用Spring的过程
-
没有这个技术前怎么做
现在行业之中,Spring已经作为了绝对的java架构,但是如果想在Spring之中整合RabbitMQ、Kafka、ActiveMQ、Mysql、Druid、Redis、Shiro,需要编写一推推的*.xml配置文件。
-
-
怎么做
快速上手视频:https://www.imooc.com/learn/767
官方示例:http://spring.io/projects/spring-boot#samples
写Demo:
https://blog.csdn.net/wwwdc1012/article/details/78171196
https://www.cnblogs.com/EasonJim/p/7374010.html
看开源代码:https://blog.csdn.net/oneil2016/article/details/81223460 -
项目实践