概览

什么是Spring Boot?

Spring Boot使创立独立的、生产级的基于Spring的应用程序变得很容易,您能够“间接运行”这些应用程序。Spring Boot优先于配置的常规,旨在让您尽快启动和运行。基于Spring Framework根底之上,是新一代的Web利用程序开发框架,下图来理解下Spring Boot的全貌:

Spring Boot 劣势

  • 主动拆卸

Spring Boot 所提倡的约定优于配置(Convention over Configuration)设计理念,和以前应用Spring MVC框架相比,简化一大堆XML文件的配置和Maven依赖的配置,把本来须要开发人员指定的各种配置项设置了默认值,配合代码生成器,极大升高了Web我的项目的开发的门槛,一会咱们将会通过一个demo来体验下Spring Boot来搭建一个web服务的弱小之处,真香\~\~\~

  • 监控Actuator

相比拟传统的Spring MVC框架,Spring Boot框架引入的另外一大亮点就是内置的Actuator监控组件,通过Actuator监控组件咱们能够查看包含主动拆卸在内的应用程序的详细信息、JVM内存应用状况、垃圾回收信息等等\~

  • 内嵌Servlet容器

除了主动拆卸和监控后,Spring Boot框架内嵌Servlet容器(蕴含 Tomcat、Jetty 等反对 Servlet 标准的多款传统 Web 容器),通过内嵌的Servlet容器机制,开发人员想要启动Web服务,只须要执行一行java -jar命令就能够了,无需以war包模式部署我的项目,升高了运维部署我的项目的复杂度。

疾速入门

我通过”Hello World“ demo我的项目来体验下Spring Boot的弱小之处,在开始之前咱们须要先配置好开发环境以及开发工具:

  • JDK 1.8+

Spring Boot 2.x 要求 JDK 1.8 环境及以上版本。另外,Spring Boot 2.x 只兼容 Spring Framework 5.0 及以上版本。

  • Maven 3.2+

为 Spring Boot 2.x 提供了相干依赖构建工具是 Maven,版本须要 3.2 及以上版本。应用 Gradle 则须要 1.12 及以上版本。

  • IDEA

举荐应用IntelliJ IDEA,也能够应用Eclipse作为开发工具,另外本我的项目的源码将会在github开源,如果须要下载还须要装置Git。

应用Spring Initializr构建我的项目

  • 拜访 http://start.spring.io/
  • 抉择构建工具,举荐应用Maven Project、Java、Spring Boot 2.4.1,填写我的项目的根本信息以及我的项目的依赖信息,增加Spring Web依赖即可,参考如下图所示:

  • 点击Generate生成下载我的项目压缩包
  • 解压缩后,应用idea导入我的项目,File-->New-->Project from Existing Sources...-->抉择解压缩的目录,点击【Open】,抉择Maven构建工具点击【Finish】即可,略微等下,这时Idea将会下载我的项目所须要的依赖包。

应用IDEA构建我的项目

  • 抉择 File --> New --> Project… 弹出新建我的项目的框
  • 抉择Spring Initializr,点击【Next】

  • 填写我的项目的根本信息,点击【Next】

  • 抉择我的项目的依赖信息,同样咱们抉择Spring Web依赖,点击【Next】

  • 填写项目名称和存储门路【 Finish】即可。

我的项目构造解析


如下面所示,Spring Boot我的项目的根本构造蕴含三个目录

  • src/main/java

程序的开发目录和主程序的入口,HelloWorldApplication在该目录下,带有main()办法的类,它是整个SpringBoot入口,用来启动应用程序。

  • src/main/resources

寄存资源和配置文件,static目录下会寄存动态的文件(css,js等),templates目录下会寄存页面的模板文件,application.properties默认会生成一个空的配置文件,依据我的项目开发须要增加配置我的项目。

  • src/man/test

用来寄存单元测试我的项目的代码,HelloWorldApplicationTests,默认生成一个空的单元测试类,它加载了一个应用 Spring Boot 字典配置性能的 Spring 应用程序上下文

编写第一个Controller代码

@RestControllerpublic class HelloWorldController {    @RequestMapping("/hello")    public String hello() {        return "Hello World";    }}

@RestController注解是@Controller 和 @ResponseBody的组合注解,示意Controller下的办法都是json格局输入。

启动HelloWorldApplication类的main办法,应用浏览器拜访http://localhost:8080/hello 这个端点,页面就会输入Hello World,是不是超级简略\~

我的项目源码

github:https://github.com/dragon8844...

最初说一句

如果这篇文章对您有所帮忙,或者有所启发的话,帮忙关注一下,您的反对是我保持写作最大的能源,多谢反对。

此外,关注公众号:彩色的灯塔,专一Java后端技术分享,涵盖Spring,Spring Boot,SpringCloud,Docker,Kubernetes中间件等技术。