springboot入门简介
一、产生背景
Spring开发变的越来越笨重,大量的XML文件,繁琐的配置,复杂的部署流程,整合第三方技术时难度大等,导致开发效率低。SpringBoot是一个用来简化Spring应用的初始化创建和开发的框架,简化配置,实现快速开发。
二、什么是SpringBoot?
在Spring框架这个大家族中,产生了很多衍生框架,比如Spring、SpringMvc框架等,Spring的核心内容在于控制反转(IOC)和依赖注入(DI),所谓控制反转并非是一种技术,而是一种思想,在操作方面是指在spring配置文件中创建<bean>,依赖注入即为由spring容器为应用程序的某个对象提供资源,比如引用对象、常量数据等。SpringBoot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化是指简化了Spring众多框架中所需的大量且繁琐的配置文件,所以SpringBoot是一个服务于框架的框架,服务范围是简化配置文件。
三、SpringBoot解决的问题
1、使编码变得简单
2、使配置变得简单
3、使部署变得简单
4、使监控变得简单
四、springboot主要特性
1、遵循习惯优于配置的原则。使用springboot我们只需要很少的配置,大多数使用默认配置即可
2、项目快速搭建。springboot帮助开发者快速搭建spring框架,可无需配置的自动整合第三方框架
3、可以完全不使用xml配置,只需要自动配置和Java config
4、内嵌servlet容器,降低了对环境的要求,可用命令直接执行项目
5、提供了starter POM,能够非常方便的进行包管理
6、对主流框架无配置集成
7、与云计算天然集成
五、springboot的核心功能
1、独立运行spring项目。springboot可以以jar包的形式进行独立运行,使用java -jar xx.jar 就可以成功运行项目。
2、内嵌servlet容器。内嵌容器,使得我们可以执行运行项目的主程序main函数,使得项目可以快速运行。
3、提供starter简化Maven配置。springboot提供了一系列的start pol用来简化maven依赖。如:常用的spring-boot-starter-web、spring-boot-starter-tomcat、spring-boot-starter-actuator等
4、自动配置spring。springboot会根据我们项目中类路径的jar包,为jar包的类进行自动装配bean。
5、应用监控。springboot提供了基于HTTP、ssh、telnet对运行时的项目进行监控。
springboot提供了actuator组件,只需要在配置中加入spring-boot-starter-actuator依赖,通过继承AbstractHealthIndicator这个抽象类,然后在doHealthCheck()方法中检测服务健康的方法,就可以实现一个简单的监控。具体可参考该博客://www.greatytc.com/p/41c1026f2c9d
六、springboot的优点(参见spring官方的Features章节的解释https://spring.io/projects/spring-boot
):
快速创建独立运行的Spring应用并与主流框架集成
内置Servlet容器,应用无需打包war包
使用starter(启动器)管理依赖并进行版本控制
大量的自动配置,简化开发
提供了准生产环境的运行时监控,如指标、 健康检查、外部配置等
无需配置XML,没有生成冗余代码,开箱即用
七、springboot的缺点
1、高度集成,使用的时候不知道底层实现
2、由于不了解底层,导致项目出了问题会很难排查
创建第一个springboot应用项目
1、系统要求(官方建议)
链接地址:9. System Requirements-https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/getting-started-system-requirements.html
总结之:
1、环境要求:
SpringBoot 2.0(基于Spring5.0)
JDK 1.8及以上
Maven 3.2及以上
Tomcat 8.5及以上
IDEA较新版本
2、操作步骤:
传统的web工程,先创建web工程,然后打成war包,放到tomcat里面运行。--太麻烦
而springboot只需要创建一个java工程,后期直接打包成一个可执行的jar包(内置tomcat)
a、创建一个maven的java工程
