一、介绍
1、SpringBoot是由Pivotal团队研发的,SpringBoot并不是一门新技术,只是将之前常用的Spring,SpringMVC,data-jpa等常用的框架封装到了一起,帮助你隐藏这些框架的整合细节,实现敏捷开发。
SpringBoot就是一个工具集。spring5 + 启动器
2、SpringBoot特点:
SpringBoot项目不需要模板化的配置。
SpringBoot中整合第三方框架时,只需要导入相应的starter依赖包,就自动整合了。
SpringBoot默认只有一个.properties的配置文件,不推荐使用xml,后期会采用.java的文件去编写配置信息。
SpringBoot工程在部署时,采用的是jar包的方式,内部自动依赖Tomcat容器,提供了多环境的配置。
后期要学习的微服务框架SpringCloud需要建立在SpringBoot的基础上。
二、SpringBoot快速入门
1、 快速构建SpringBoot
1.1 选择构建项目的类型
1.2 项目的描述
1.3 指定SpringBoot版本和需要的依赖
1.4 导入依赖(自动)
1.5 编写了Controller
.....
三、SpringBoot的目录结构
1、 pom.xml文件
指定了一个父工程: 指定当前工程为SpringBoot,帮助我们声明了starter依赖的版本。
项目的元数据:包名,项目名,版本号。
指定了properties信息:指定了java的版本为1.8
导入依赖:默认情况导入spring-boot-starter,spring-boot-starter-test
插件:spring-boot-maven-plugin
2、 .gitignore文件
默认帮我们忽略了一些文件和目录,避免提交到Git仓库中
3、 src目录
引入顺序
我们的工程 --> spring-boot-starter-parent - > spring-boot-dependencies
springboot获取其他框架的配置信息
框架的配置信息写在这个文件中, additional-spring-configuration-metadata.json
springboot加载其他框架的启动类
框架的启动类,写在这个文件中 : spring.factories
四、 SpringBoot三种启动方式
1、 运行启动类的main方法
运行main方法即可
2、 maven命令
mvn spring-boot:run
3、 采用jar包的方式运行
将当前项目打包成一个jar文件,并通过java -jar jar文件
五、SpringBoot常用注解【重点】
1、@SpringBootApplication
@SpringBootApplication就是一个组合注解:
@SpringBootConfiguration就是@Configuration注解,代表启动类就是一个配置类。(表明当前是一个SpringBoot配置类)是配置类才会执行里面的代码
@EnableAutoConfiguration帮你实现自动装配的,SpringBoot工程启动时,运行一个SpringFactoriesLoader的类,加载META-INF/spring.factories配置类(已经开启的),通过SpringFactoriesLoader中的load方法,以for循环的方式,一个一个加载。
好处:无需编写大量的整合配置信息,只需要按照SpringBoot提供好了约定去整合即可。
坏处:如果说你导入了一个starter依赖,那么你就需要填写他必要的配置信息。
手动关闭自动装配指定内容:@SpringBootApplication(exclude = QuartzAutoConfiguration.class)
@ComponentScan就相当于<context:component-scan basePackage=“包名” />,帮助扫描注解的。
2、@Configuration和@Bean ( 属于Spring的 作用:帮我们配置一个JavaBean)
之前使用SSM去开发时,在xml文件中编写bean标签,但是SpringBoot不推荐使用xml文件。
@Configuration注解相当于beans标签
@Bean注解相当于bean标签
id=“方法名 | 注解中的name属性(优先级更高)”
class=“方法的返回结果”