前篇
很长时间不写博客了,究其原因则是这几个月工作及生活都发生了很多事情,导致不得分心处理这些。最近难得忙里偷闲,决定还是继续更新吧。毕竟一件事情做久了,如果突然中断,心中难免有些遗憾。由于博客之前更新的内容均是 Redis 相关的,本打算继续把后续的 Redis 内容更新出来,但无奈因为这段时间的中断,发现 Redis 的思路已经断了,所以决定还是很把 Redis 放一放吧,沉淀一段时间之后,在将后续的内容补充上。
虽然这段时间没有更新博客,但在技术角度来说,还是有所收获的,因为公司最近一直在使用 Spring Boot,虽然 Spring Boot 很火,但自己一直没有真正在项目中使用过,正好有这样的机会,并且在使用的过程中遇到了各种各样的问题,我想那就把工作中遇到的种种问题,更新出来吧。所以,接下来,本人将不定期的更新 Spring Boot 相关的内容。由于 Spring Boot 实在是太火了,网上有很多相关的资料及书籍。所以,本博客的更新重点,将以实用为主,相关的理论方面的内容,请参考,官方文档,及相关书籍。
创建 SpringBoot
好了,言归正传,我们来学习 Spring Boot 的第一篇文章,也就是入门篇。我们首先创建一个 Spring Boot 项目。具体操作如下图所示:
创建 Spring Boot 的项目和创建 Spring 的项目不同,在上图中我们不能选择 Maven 创建项目,而是使用 IDEA 中 Spring Initializr 创建 Spring Boot 项目。因为它会为我们直接生成 Spring Boot 的项目架构。在 Spring Initializr 选项中我们看到默认使用了 https://start.spring.io> 这个 … 这个域名地址,来生成我们的项目架构。下图就是我们直接访问上述域名来生成项目架构。
因为上图中的配置和 IDEA 中的 Spring Initializr 配置基本一样,所以上图中的创建方式,就不做详细介绍了,我们继续介绍 Spring Initializr 方式的配置。
上图中的选项比较多,下面我们详细介绍一下:
Group: 同 Maven 中的 Group 一样,也就是项目唯一标识
Artifact: 同 Maven 中的 Artifact 一样,通常为项目名
Type: 项目的 Maven 类型,我们默认选择就可以
Language: 项目的开发语言,那结果当然选择 Java 喽
Packaging: 打包类型 jar 或者 war, 因为 SpringBoot 可以支持这两种方式启动,所以,这两种选择哪个都可以
Java Version:Java 的版本号,推荐使用 1.8 版本
Version: 项目的版本号
Name: 项目名,推荐和 Artifact 一致
Description: 项目描述
Package: 项目包的名字
这一步我们选择 SpringBoot 的版本,及项目的依赖包,这里要注意因为 SpringBoot2.0 版本和 1.0 版本相差甚大,所以,暂时推荐使用 1.0 版本。除此之外,因为创建的是 web 项目,所以,我还要要添加和 web 相关的依赖,在这点和 Maven 创建 Spring 项目不同,我们只需要选择,一个 web 的依赖就可以了,SpringBoot 会自动把这个 web 相关的依赖都下载好,这也就是 SrpingBoot 的优势之一,比较方便。当然如果我们开发一下完整的项目,还是需要很多其它的项目依赖的,这里我们不用着急,暂时只添加 web 这个就可以,如果需要其它的依赖,我们还是可以修改的。好的我们继续下面操作:
这一步我们只要选择完成则可以了。这样我们的 SpingBoot 项目就创建好了,下图就是项目架构图:
当项目第一次创建后,右下方,会有上图中的两个提示选项,我们只要选择第二个就可以,这样,当我们修改项目中 pom.xml 文件添加依赖时,IDEA 会自动添加我们的依赖。
启动 SpringBoot
上图就是 SrpingBoot 生成的项目结构图,默认会创建两个类,一个是启动类,一个是测试类。和 Spring 项目不同,我们不需要配置 Tomcat 来启动 SrpingBoot 项目,我们直接使用启动类,即可启动 SrpingBoot 项目。下面我们尝试启动一下,因为启动类就是一个 main 方法,所以我们只要直接执行就可以了。因为 SrpingBoot 项目的默认端口为 8080, 所以我们启动后可以直接访问 8080 端口,来验证 SrpingBoot 是否启动成功。
上图就是我们访问 8080 端口后的结果。虽然返回的结果报错,但这恰恰说明了我们的项目启动成功了,否则就会报 404 错误。那为什么会报上面的错误呢?这是因为我们没有写 controller,下面我们写一个简单的 controller 来看一下上面的问题还有没有。下面为 controller 代码。
package com.jilinwula.springboot.helloworld;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(“/jilinwula”)
public class JilinwulaController {
@RequestMapping(“/helloworld”)
public Object helloWorld() {
return “ 吉林乌拉 ”;
}
}
启动方式
下面我们访问 http://localhost:8080/jilinwu… 地址。下图为访问该地址的返回结果。下面我们看一下 SpringBoot 的启动方式,上面说过,我们可以不用 Tomcat 直接启动 SpringBoot 项目,也就是直接启动 main 方法,当然我们一样可以使用 Tomcat 的方式启动 SpringBoot 项目,我们可以直接将 SpringBoot 项目项目打包成 war 放到 Tomcat 中就可以了。具体操作如下:
在 SpringBoot 项目中的 pom.xml 中添加如下配置:
<packaging>war</packaging>
然后执行以下打包命令:
mvn clean install
这样在我们的项目中就会生成一个 target 包里面就会项目的中 war 包,只要把这个 war 包放到 Tomcat 中即可。
第二种方式就是直接在项目中使用 java -jar 项目名.jar 方式启动项目。
还有一种方式就是直接在项目中 mvn spring-boot:run 命令,也可以正常启动 SpringBoot 项目。
以上内容就是 SpringBoot 的入门篇,在下一篇中我们将分享,在 SpringBoot 中的个性化默认配置。
项目源码
https://github.com/jilinwula/jilinwula-springboot-helloworld
原文链接
http://jilinwula.com/article/24336