Spring Boot 入门
1. Spring Boot 简介
Spring 作为一个轻量级的容器,在Java EE开发中得到了广泛的应用,但是Spring的配置繁琐臃肿,在和各种第三方框架进行整合时代码量都非常大,并且整合的代码大多是重复的,为了使开发者能够快速上手Spring,利用Spring框架快速搭建了Java EE项目,Spring Boot应运而生。
Spring Boot带来了全新的自动化配置解决方案,使用Spring Boot可以快速创建基于Spring生产级的独立应用程序。Spring Boot中对一些常用的第三方库提供了默认的自动化配置方案,使得开发者只需要很少的Spring配置就能运行一个完整的Java EE应用。Spring Boot项目可以采用传统的方案打成war包,然后部署到Tomcat中运行。也可以直接打成可执行的jar包,这样通过java -jar命令就可以启动一个Spring Boot项目。总体来说,Spring Boot 主要有如下优势:
- 提供一个快速的Spring 项目搭建渠道
- 开箱即用,很少的Spring配置就能运行一个Java EE项目
- 提供了生产级的服务监控方案
- 内嵌服务器,可以快速部署
- 提供了一系列非功能性的通用配置
- 纯Java配置,没有代码生成,也不需要XML配置
Spring Boot是一个“年轻”的项目,发展非常迅速,特别是在Spring Boot2.0之后,许多API都有较大的变化。
1.2 第一个Spring Boot程序
Spring Boot工程可以通过很多方式来创建,最通用的方式莫过于使用Maven了,因为大多数的IDE都支持Maven。
1.2.1 创建Maven工程
这里不过多说明,Maven的介绍和安装只介绍两种创建Maven工程的方式。
1.使用命令创建Maven工程
首先可以通过Maven命令创建一个Maven工程,在cmd窗口中执行如下命令:
mvn archetype:generate -DgroupId=org.sang -DartifactId=chapter01
-DarchetypeArtifactId =maven-archetype-quickstart -DinteractiveMode=false
命令解释:
- -DgroupId 组织Id(项目包名)
- -DartifactId ArtifactId (项目名称或者模块名称)
- -DarchetypeArtifactId 项目骨架
- -DinteractiveMode 是否使用交互模式
使用命令将项目创建好之后,直接用Eclipse或者IntelliJ IDEA打开即可。
2.在IntelliJ IDEA中创建Maven工程
IntelliJ IDEA作为后起之秀,得到了越来越广泛的应用。使用IntelliJ IDEA创建Maven工程的步骤如下:
步骤1 创建项目时选择Maven,但是不必选择项目骨架,单击Next按钮即可,如图所示
步骤2 输入组织名称、模块名称、项目版本号等信息,如图所示
步骤3 选择项目位置,然后单击Finish按钮,完成项目创建,如图所示
这里向你们介绍了两种创建Maven工程的方式,创建成功之后,接下来添加项目依赖。
1.2.2 项目构建
1.添加依赖
首先添加spring-boot-starter-parent作为parent,代码如下:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath/>
</parent>
spring-boot-starter-parent是一个特殊的Starter,提供了一些Maven的默认配置,同时还提供了dependency-management,可以使开发者在引入其他的依赖时不必输入版本号,方便依赖管理。Spring Boot中提供了Starter非常多,这些Starter主要为第三方库提供自动配置,例如要开发一个Web项目,就可以先引入一个Web的Starter,代码如下:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
2.编写启动类
接下来创建项目的入口类,在Maven工程的java目录下创建项目包,包里创建一个PhotoWallApplication类,代码如下:
@EnableAutoConfiguration
public class PhotoWallApplication {
public static void main(String[] args) {
SpringApplication.run(PhotoWallApplication.class, args);
}
}
代码解释:
- @EnableAutoConfiguration注解表示开启自动化配置。由于项目中添加了spring-boot-starter-parent依赖,因此在开启了自动化配置之后会自动进行Spring和Spring MVC的配置。
- 在Java项目的main方法中,通过SpringApplication中的run方法启动项目。第一个参数传入PhotoWallApplication.class,告诉Spring哪个是主要组件。第二个参数是运行时输入的其他参数。
接下来创建一个Spring MVC的控制器——HelloController,代码如下:
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "Hello Spring Boot!";
}
}
在控制器中提供了一个“/hello”接口,此时需要配置包扫描才能将HelloController注册到Spring MVC容器中,因此在PhotoWallApplication类上面再添加一个注解@ComponentScan进行包扫描,代码如下:
@EnableAutoConfiguration
@ComponentScan
public class PhotoWallApplication {
public static void main(String[] args) {
SpringApplication.run(PhotoWallApplication.class, args);
}
}
也可以直接使用组合注解@SpringBootApplication来代替@EnableAutoConfiguration和@ComponentScan,代码如下:
@SpringBootApplication
public class PhotoWallApplication {
public static void main(String[] args) {
SpringApplication.run(PhotoWallApplication.class, args);
}
}
1.2.3 项目启动
启动项目有三种不同的方式,下面一一介绍。
1.使用Maven命令启动
可以直接使用mvn命令启动项目,命令如下:
mvn spring-boot:run
启动成功后,在浏览器地址栏输入http://localhost:8080/hello即可看到运行结果。
2.直接运行main方法
直接在IDE中运行PhotoWallApplication类的main方法,就可以看到项目启动了。
启动成功后,也可以在浏览器中直接访问/hello接口。
3.打包启动
当然,Spring Boot应用也可以直接打成jar包运行。在生产环境中,也可以通过这样的方式来运行一个Spring Boot应用。要将Spring Boot打成jar包运行,首先需要添加一个plugin到pom.xml文件中,代码如下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
然后运行mvn命令进行打包,代码如下:
mvn package
打包完成后,在项目的target目录下会生成一个jar文件,通过java -jar命令直接启动这个jar文件。
1.3 Spring Boot的简便创建方式
上面介绍的创建方式步骤有点多。在实际项目中,可结合具体的开发环境选择更简便的项目创建方式。下面介绍三种快捷创建方式。
1.3.1 在线创建
在线创建是Spring Boot官方提供的一种创建方式,在浏览器中输入网址https://start.spring.io ,可以看到如图所示的页面。
在这个页面中,可以选择项目的构建工具是Maven还是Gradle、语言是Java还是其他、要使用的Spring Boot版本号、项目的组织Id(包名)、模块名称以及项目的依赖。所有这些信息选好或填好后,单击Generate Project按钮将生成的模板下载到本地,解压后用IDE打开即可开始项目的开发。
1.3.2 使用IntelliJ IDEA创建
如果使用的开发工具是IntelliJ IDEA,那么可以直接创建一个Spring Boot项目,但是注意直接创建Spring Boot项目这个功能在社区版的IntelliJ IDEA上是不存在的。创建方法如下:
步骤1 创建项目时选择Spring Initializr,如图所示
步骤2 输入项目基本信息,如图所示
在这里输入项目的基本信息,包括组织Id、模块名称、项目构建类型、最终生成包的类型、Java的版本、开发语言、项目版本号、项目名称、项目描述以及项目的包。
步骤3 选择项目所需要添加的依赖,之后IntelliJ IDEA会自动把选中的依赖添加到项目的pom.xml文件中。
步骤4 选择项目创建路径,如图所示
经过上面的4个步骤之后,一个可运行的Spring Boot项目就创建完成了。
1.3.3 使用STS创建
也有开发者习惯使用STS创建。在STS中创建Spring Boot项目也很方便:首先右击,选择New→Spring Starter Project,然后在新页面中配置Spring Boot项目的基本信息(配置和IntelliJ IDEA的基本一致,不再累赘),最后选择需要添加的Starter,选择完成后,单击Finish按钮完成项目创建。
1.4 小结
本文向大家介绍了一个简单的Spring Boot项目的基本创建过程,从而让读者感受到Spring Boot的魅力。当一个Spring Boot项目创建成功之后,几乎零配置,开发者就可以直接使用Spring和Spring MVC中的功能了。后续小怪还会进一步的详细介绍Spring Boot的知识。希望能够帮助到您,谢谢支持!