一、springboot是什么? springboot是一个用于构建基于spring框架的独立应用程序的框架。它采用自动配置的原则,以减少开发人员在搭建应用方面的时间和精力。同时提升系统的可维护性和可扩展性。 二、springboot的优点 约定优于配置 版本锁定:解决maven依赖版本容易冲突的问题,集合了常用的并且测试过的所有版本 起步依赖:解决了完成某一个功能要整合的jar包过多的问题,集合了常用的jar包 自动配置:解决了整合框架或者技术的配置文件过多,集合了所有的约定的默认配置 内置tomcat: 通过内置tomcat,无需再用其他外置的tomcat就可以直接运行javaEE程序 人们把springboot称为搭建程序的脚手架。其中最主要作用就是帮我们快速的构建庞大的spring项目,并且尽可能减少一切xml配置。 三、运行springboot项目的方式 1.可以打包 2.可以使用maven插件直接运行 3.直接运行main方法 四、springboot的启动器starter 1.starter启动器,可以通过启动器集成其他的技术,可以提供对应技术的开发和运行环境。 2.starter执行原理: *springboot在启动时候会去扫描jar包中一个名为spring.factories *根据文件中的配置,去加载自动配置类。配置文件格式是key = value,value中配置了很多需要spring加载的类 *spring会去加载这些自动配置类,spring读取后,就会创建这些类的对象,放到spring容器中,后期就会从spring容器中获取这些类的对象 五、springboot运行原理 1.springboot核心通过maven继承依赖关系快速整合第三方框架 2.基于springMVC无配置文件完全注解化实现springboot框架,main函数启动 六、springboot如何完成自动配置 1.springboot自动配置的注解是@enableautoconfiguration 2.我们使用的时候是在启动类上加@springbootapplication,这个注解是复合注解,内部包含@enableautoconfiguration 3.@enableautoconfiguration内部有一个@import,这个注解才是完成自动配置的关键 4.@import导入一个类,这个类内部提供了一个方法selectimport,这个方法会扫描导入的所有jar包下的spring.factories文件。解析文件中自动配置类key = value,将列表中的类创建,并放入spring容器中。 七、springboot常用注解 1.springbootapplication:它封装了核心的@springbootconfiguration+@enableautoconfiguration+@componentscan这三个大类,大大节省了程序员配置时间,这就是springboot的核心设计思想。 2.@enablescheduling是通过@import将spring调度框架相关的bean定义都加载到ioc容器中 3.@mapperscan:springboot支持mybatis组件的一个注解,通过此注解指定mybatis接口路径,即可完成对mybatis接口的扫描 4.@Restcontroller:@responsebody+@controller结合 5.@requestmapping:我们都需要明确请求的路径 6.@pathvariable:路径变量注解,用{}来定义url部分的变量名 7.@service:标记业务层的组件,业务逻辑处理都会加上这个注解交给spring容器 8.@component和spring注解功能一样,注入ioc容器中 9.@controlleradvice和@exceptionhandler配合完成统一异常拦截处理