SpringBoot基础

什么是SpringBoot

SpringBoot属于Spring家族中的一员;它是Spring的衍生框架;Spring的核心内容是控制反转(Ioc)和依赖注入(DI)
SpringBoot是一个框架,一种新的编程规范,它的产生简化了框架的使用,所谓简化是指简化了Spring众多框架所需的大量繁冗的配置文件,所以SpringBoot是一个服务于框架的框架,服务范围是简化配置文件;简单点说,SpringBoot是一个简化了配置的Spring框架。

SpringBoot的作用

SpringBoot最明显的特点,就是让文件配置变得简单,让应用部署变得简单;使用SpringBoot内置的服务器,并装备启动代码,可以快速开启一个Web容器进行开发

SpringBoot的使用特点

  • 一个简单的SpringBoot工程不需要再pom.xml文件中手动添加配置
  • SpringBoot工程不需要繁多的配置文件,只需要一个配置文件即可,其中包含服务器端口、数据库用户名、密码等
  • 在SpringBoot工程创建时,会自动创建Application启动类,代表着本工程项目和服务器的启动加载,故不需要手动改配置Tomcat,但有可能出现端口号冲突的问题

SpringBoot的特点

  • 依赖管理:
    SpringBoot做了大量的starter,starter是帮助我们导入依赖项的一个入口,简化了项目依赖管理
    starter会借助Maven的依赖传递帮我们导入相关的依赖

  • 自动配置(AutoConfiguration)
    SpringBoot基于Spring代码配置提供了很多常用组件和框架的配置类,从而简化项目配置
    SpringBoot会按照某些条件使用自动配置相关的组件或框架,从而减少项目的配置文件,它在Spring自动扫描和基于代码配置的基础上加入自己的处理流程。SpringBoot帮写了大量的加入了@Configuration注解的类,每个类提供一种组件或框架的配置

  • .内嵌容器
    集成Java的常见Web容器,简化开发环境搭建,而且是打包插件打包web应用为可执行文件的基础
    Spring Boot支持的内嵌容器Tomcat. Jetty.
    可以不使用内嵌容器,在Maven中移除这样的依赖就可以,这个时候如果要通过Spring Boot使用Web相关框架,则需要打包为war包后独立部署,或者在开发过程中使用IDE环境的开发部署功能。

  • Maven插件(打包可运行文件: maven-plugin)
    用于打包可直接运行的jar文件或war文件,为项目的开箱即用提供支持,当然还有辅助开发的一些小功能
    Maven使用的默认打包工具支持打包jar文件或者war文件,但是打包后的jar文件中不能再嵌入jar文件,而打包后的war文件不能直接运行,为了把工程所 有文件打包为一个可直接运行的jar文件或war文件, spring提供了- 一个maven插件来解决这样的问题。当然这个插件还提供诸如spring-boot:run这样的开发功能

  • 热启动( devtools)
    减少开发过程中反复启动容器的次数,提高开发效率
    Spring Boot热启动通过重写容器的类加载器,完成程序的部分重启,从而简化、加速程序的调试过程。
    spring-boot-devtools通过两个类加载器分别加载依赖库和项目代码,当spring-boot-devtools发现项目的编译输出路径下有变化时,通过其中的一个类加载器重新加载所有的项目自有代码,从而完成热启动。这样的热启动比冷启动(关闭、重启)要快很多,到底快多少取决于项目自有代码的数量。
    和热启动对应的还有一个热替换,是指单独地替换被修改的某一个class到jvm中,甚至可以单独替换lass的某个方法,这种方式比热启动要快,通常使用JavaAgent拦截默认加载器的行为来实现

创建一个简单的SpringBoot项目

可以单独创建也可以在一个Maven项目中创建一个Module
SpringBoot基础_第1张图片
选择Spring Initializr
选择SDK
SpringBoot基础_第2张图片
SpringBoot基础_第3张图片
SpringBoot基础_第4张图片
SpringBoot基础_第5张图片
出现以下情况就说明启动成功
SpringBoot基础_第6张图片

你可能感兴趣的:(spring,springBoot,spring,boot,java,spring)