SpringBoot为了简化在开发基于 Spring的项目的难度,减少了哪些繁杂的配置,从而让开发基于 Spring的项目变成一个相当简单容易的事。
SpringBoot其本身没有添加什么新的技术,就是整合了一些现有的框架,并提供了一些默认的配置,就是这些默认的配置,极大的提高了我们的开发效率。所以,在读者学习使用 SpringBoot之前,建议最好要有一些 Spring相关知识为基础。
SpringBoot极大的简化了Spring与其他框架的整合,例如JPA、SpringMvc、Freemaker、Spring Security等。
SpringBoot官网地址:http://projects.spring.io/spring-boot/
在官网上我们可以查看到最新的SpringBoot的英文文档教程。
通过上面的介绍我们能够简单的了解什么是SpringBoot。那如何快速搭建Spring Boot应用呢?
在浏览器中访问start.spring.io,官网给我们提供web页面的初始化页面。在添加依赖中可以选择会使用到的依赖。
我们在此以 Maven作为项目构建方式,Spring Boot 还支持以 Gradle 作为项目构建工具。部署形式以 jar 包形式,当然也可以用传统的 war 包形式。Spring Boot 选择2.4.4,Spring boot 还支持以 Groovy 语言、Kotlin语言开发,应用中我们选择 Java作为开发语言。
点击“生成”按钮,下载压缩文件,然后将其解压缩到计算机上的文件夹中。
在IDE中打开项目,并配置好Maven后,依赖下载完成,我们就可以看到项目的基本骨架了。
在项目中我们实现一个/hello的Controller接口,并默认值打印"Hello World"。如下所示:
@RestController
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@GetMapping("/hello")
public String hello(@RequestParam(value = "name", defaultValue = "World") String name) {
return String.format("Hello %s!", name);
}
}
我们构建并运行程序。我们即可以在命令行中运行也可以直接在IDEA中运行。在项目中的目录下运行如下命令:
在命令行中运行:
MacOS/Linux:
./mvnw spring-boot:run
Windows:
mvnw spring-boot:run
当我们看到如下日志时,最后两行告诉我们Spring已经被运行起来了。
Spring Boot使用嵌入式Apache Tomcat服务器充当Web服务器,并在localhost
port上侦听请求8080
。打开浏览器,然后在顶部的地址栏中输入http://localhost:8080 /hello。您应该得到一个很好的友好响应,如下所示:
SpringBoot是Spring框架对“约定优先于配置(Convention Over Configuration)”理念的最佳实践的产物,一个典型的 SpringBoot 应用本质上其实就是一个基于 Spring 框架的应用。
这篇文章看似简单,确是我们开始Spring Boot系列的坚实基础。
文章目录 1. 文件描述符 1.1 文件描述符的实质 1.2 文件描述符的分配规则 1.3 一...
% Function getFilename(text) text = Left(text,inStrRev(fl,".")-1) getFilena...
低版本VS项目在VS2019无法正常编译的问题 这里指的编译并不准确,只是为了方便说...
本来这篇是要写Python的可视化的,但无意中发现了一道题目,发现通过这道题可以...
当需要在inline元素上控制margin和padding时,inline-block属性值变得非常有用,...
在 Linux 系统中一切皆文件,除了通常所说的狭义的文件以外,目录、设备、套接字...
985. 查询后的偶数和 1 题目描述 2 示例描述 3 解题提示 4 源码详解C 5 超时代码...
2015年Win10发布时,为刺激用户升级,微软祭出了免费大招,即允许Win7/8.1正版用...
前言 本篇主要记录微信支付中公众号及H5支付全过程。 准备篇 公众号或者服务号(...
本文介绍一下ASP.Net中对XML的用法,这里飞刀我只是展现了XML与DataSet相结合的...