SpringBoot框架介绍
一、SpringBoot简介
Spring Boot 是由Pivotal 团队开发的Spring 框架,采用了生产就绪的观点,旨在简化配置,致力于快速开发;
Spring Boot 框架提供了自动装配和起步依赖,使开发人员不需要配置各种xml 文件。通过这种方式,极大地提高了程序的开发速度,因此, Spring Boot 被认为是新一代的Web 开发框架;
在过去的Spring 开发中,需要引入大量的xml 文件;Spring 2.5 引入了包扫描,消除了显式的配置Bean;Spring 3.0 又引入了基于JavaBean 的配置,这种方式可以取代xml 文件;尽管如此,在实际的开发中还是需要配置xml 文件,例如配置SpringMVC 、事务管理器、过滤器、切面等;
在项目的开发过程中,会引入大量的第三方依赖,选择依赖是一件不容易的事,解决依赖与依赖之间的冲突也很耗费精力。所以,在以前的Spring 开发中,依赖管理也是一件棘手的事情;Pivotal 团队提供的Spring Boot 框架,解决了以前Spring 应用程序开发的痛点。
Spring Boot 的特点
对比之前的Spring, Spring Boot 有三大特点:自动配置、起步依赖和Actuator 对运行状态的监控
自动配置就是程序需要什么, Spring Boot 就会装配什么;例如, 当程序的pom 文件引入了Feign 的起步依赖, Spring Boot 就会在程序中自动引入默认的Feign 的配置Bean ;再例如配置Feign 的Decoder 时,如果开发人员配置了Decoder Bean, Spring Boot 就不会引入默认的Decoder Bean ;自动装配使得程序开发变得非常便捷、智能化。
在以前开发过程中,向项目添加依赖是一件非常有麻烦的事:选择版本,解决版本冲突,十分耗费精力。例如,程序需要Spring MVC 的功能,那么需要引入spring-core 、spring-web和spring-webmvc 等依赖,但是如果程序使用Spring Boot 的起步依赖,只需要加入spring-boot-starter-web 的依赖,它会自动引入SpringMVC 功能的相关依赖;
Spring Boot 能够提供自动装配和起步依赖, 解决了以前重量级的xml 配置和依赖管理的各种问题;一切都显得那么敏捷、智能,但是却带来了一系列的其他问题:
开发者该怎么知道应用程序中注入了哪些Bean ?
应用程序的运行状态是怎么样的?
为了解决这些问题, SpringBoot 提供了Actuator 组件,井提供了对程序的运行状态的监控功能。
SpringBoot 的优点
Spring Boot 不仅提供了自动装配、起步依赖,还自带了不少非功能性的特性,例如安全、度量、健康检查、内嵌Servlet 容器和外置配置;开发人员可以更加敏捷快速地开发Spring 程序, 专注于应用程序本身的业务开发,而不是在Spring 的配置上花费大量的精力。另外, Actuator 提供了运行时的Spring Boot 程序中的监控端点,让开发人员和运维人员实时了解程序的运行状况。
二、用IDEA构建SpringBoot工程
打开“ IDEA ”→“new Project "→“ Spring Initializr ”→填写“ group "和“ artifact ”→勾选“ web ”(开启web 功能) → 单击“下一步”,IDEA 会自动下载Spring Boot 工程的模板
创建完成后的项目目录为下图所示: