Spring Boot 入门指南

简介: Java技术指北

什么是Spring Boot

1.jpg

Spring Boot 是 Spring 开源组织下的一个子项目,也是 Spring 组件一站式解决方案,主要是为了简化使用 Spring 框架的难度和简化 Spring 框架复杂的XML配置。使用 Spring Boot 可以很容易创建一个独立运行的、基于 Spring 的生产级应用程序,而且Spring Boot 对 Spring 平台和第三方库做了一些版本适配,这样我们就可以尽快的上手。

使用 Spring Boot 来不仅可以创建基于 war 方式部署的传统Java应用程序,也可以通过创建独立的不依赖任何容器(如 tomcat 等)的应用,只需使用 “java -jar” 就能启动。Spring Boot 还提供了一个运行 "spring scripts " 的命令行工具。


Spring Boot 的设计目标

为所有的 Spring 开发提供一 个从根本上更快、更广泛的入门体验。

开箱即用,但当需求开始偏离默认值时,可以快速从中解放出来使用个性化的定制。

提供一系列大型应用项目中经常用到的公共的非功能特性(如嵌入式服务器、安全、度量、健康检查和外部化配置)。零代码生成零XML配置。

第一个 Spring Boot 应用程序

我们在学习一门新的开发语言,或者开发框架的时候,一般都习惯写个 Hello World 的项目。一方面可以验证基础环境的搭建是否正确,另一方面可以快速了解整个开发流程。现在我们创建一个 Hello world 的 Spring Boot 项目。我这里使用的IDE 是 Intellij IDEA

第一步

打开Intellij IDEA 使用 Spring Initializr 向导 新建 Hello World的项目

2.jpg


选择 Spring Web, 然后点击 Finish 等待项目创建完成。3.jpg

第二步

项目已经创建完成。下面我们来看一下项目结构:

4.jpg

来看下 HelloApplication 入口类的内容, HelloApplication 里面定义了一个 main 函数,一个基本的 @SpringBootApplication 注解。后续的文章会详细解释一下 @SpringBootApplication 注解。现在我们只要知道有了 @SpringBootApplication 注解,所有的 Spring Boot 项目依赖都可以扫描加入进来。

5.png

再看一下 pom.xml 文件有那些依赖项目, POM 文件主要依赖了spring-boot-starter-web 项目,该项目包含了 web 项目所需的相关依赖,包括内置了 tomcat 服务器。另外还有一个比较重要的插件 spring-boot-maven-plugin,方便我们可以对 Spring Boot 项目打包成一个独立运行的 jar 包。

6.png7.png

第三步

修改 HelloApplication 主类,添加一个/hello 的请求

8.png

第四步

在主类上,右键菜单栏里选择 Run “HelloApplication” 命令,启动项目。如下图所示,2秒钟就能启动完成。从输出日志可以看出,项目启动了内置的 tomcat 服务器,分配了8080 作为本次 web 服务器的请求端口。

9.jpg

好了,我们现在访问一下 /hello 请求, 如下图所示,输出了 Hello World。

10.jpg

是不是很简单,我们很快就上手完成了第一个 Hello World 应用。

第五步

我们再来看下,如何打包一个 Spring Boot 项目呢?前文我们已经提到了 spring-boot-maven-plugin 插件,所以我们可以使用mvn package 来对其进行打包

11.png

打包完成,查看 target 目录,我们能看到 hello-0.0.1-SNAPSHOT.jar 文件。

12.jpg从上图可以看到有个名字相类似的文件,hello-0.0.1-SNAPSHOT.jar.original 文件是 Spring Boot repackage 之前的文件,也就是说这个文件其实就是 maven 创建的原始jar文件,不包含其他依赖的jar包。

如果我们想看一下 hello-0.0.1-SNAPSHOT.jar 里面包含那些内容,有没有什么快速的办法呢,我这里给大家提供一个命令行的方法,使用 “jar tvf ” 就行。


13.png

小结

从上面的示例可以看出开始一个新的 Spring Boot 项目非常简单,Spring Boot 提供了专门的创建向导项目,简化了大量的 Spring 项目的创建难度。全程下来不到5分钟,我们就完成了项目的创建和 hello world 的输出演示。

后续的文章会给大家讲解 Spring Boot 的更多的细节,给大家带来更详细的技术文章,包括源码分析、面试题讲解、一些有趣的实现等。关注公众号【Java技术指北】第一时间获取最新 Spring Boot 的相关技能。


相关文章
|
2月前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
2月前
|
Java
Spring5入门到实战------9、AOP基本概念、底层原理、JDK动态代理实现
这篇文章是Spring5框架的实战教程,深入讲解了AOP的基本概念、如何利用动态代理实现AOP,特别是通过JDK动态代理机制在不修改源代码的情况下为业务逻辑添加新功能,降低代码耦合度,并通过具体代码示例演示了JDK动态代理的实现过程。
Spring5入门到实战------9、AOP基本概念、底层原理、JDK动态代理实现
|
2月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
2月前
|
Java 数据库连接 Spring
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
文章是关于Spring、SpringMVC、Mybatis三个后端框架的超详细入门教程,包括基础知识讲解、代码案例及SSM框架整合的实战应用,旨在帮助读者全面理解并掌握这些框架的使用。
后端框架入门超详细 三部曲 Spring 、SpringMVC、Mybatis、SSM框架整合案例 【爆肝整理五万字】
|
2月前
|
NoSQL Java Redis
Redis6入门到实战------ 八、Redis与Spring Boot整合
这篇文章详细介绍了如何在Spring Boot项目中整合Redis,包括在`pom.xml`中添加依赖、配置`application.properties`文件、创建配置类以及编写测试类来验证Redis的连接和基本操作。
Redis6入门到实战------ 八、Redis与Spring Boot整合
|
2月前
|
XML Java 数据格式
Spring5入门到实战------5、IOC容器-Bean管理(三)
这篇文章深入探讨了Spring5框架中IOC容器的高级Bean管理,包括FactoryBean的使用、Bean作用域的设置、Bean生命周期的详细解释以及Bean后置处理器的实现和应用。
Spring5入门到实战------5、IOC容器-Bean管理(三)
|
2月前
|
XML Java 数据格式
Spring5入门到实战------4、IOC容器-Bean管理XML方式、集合的注入(二)
这篇文章是Spring5框架的实战教程,主题是IOC容器中Bean的集合属性注入,通过XML配置方式。文章详细讲解了如何在Spring中注入数组、List、Map和Set类型的集合属性,并提供了相应的XML配置示例和Java类定义。此外,还介绍了如何在集合中注入对象类型值,以及如何使用Spring的util命名空间来实现集合的复用。最后,通过测试代码和结果展示了注入效果。
Spring5入门到实战------4、IOC容器-Bean管理XML方式、集合的注入(二)
|
2月前
|
SQL 数据库
Spring5入门到实战------13、使用JdbcTemplate操作数据库(批量增删改)。具体代码+讲解 【下篇】
这篇文章是Spring5框架的实战教程,深入讲解了如何使用JdbcTemplate进行数据库的批量操作,包括批量添加、批量修改和批量删除的具体代码实现和测试过程,并通过完整的项目案例展示了如何在实际开发中应用这些技术。
Spring5入门到实战------13、使用JdbcTemplate操作数据库(批量增删改)。具体代码+讲解 【下篇】
|
2月前
|
XML Java 数据格式
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解
这篇文章是Spring5框架的AOP切面编程教程,通过XML配置方式,详细讲解了如何创建被增强类和增强类,如何在Spring配置文件中定义切入点和切面,以及如何将增强逻辑应用到具体方法上。文章通过具体的代码示例和测试结果,展示了使用XML配置实现AOP的过程,并强调了虽然注解开发更为便捷,但掌握XML配置也是非常重要的。
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解
|
2月前
|
XML Java 数据格式
Spring5入门到实战------6、IOC容器-Bean管理XML方式(自动装配)
这篇文章是Spring5框架的入门教程,详细讲解了IOC容器中Bean的自动装配机制,包括手动装配、`byName`和`byType`两种自动装配方式,并通过XML配置文件和Java代码示例展示了如何在Spring中实现自动装配。
Spring5入门到实战------6、IOC容器-Bean管理XML方式(自动装配)
下一篇
无影云桌面