概览
什么是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代码
@RestController
public 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中间件等技术。