如何学习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

  • 项目实践

    • 分享
      https://blog.csdn.net/liutong123987/article/details/79385513
      https://blog.csdn.net/fly_zhyu/article/details/76407830
      https://blog.csdn.net/qq27Ke/article/details/82118216

你可能感兴趣的:(如何学习SpringBoot)