如何快速搭建一个Spring Boot框架

为什么要用 Spring Boot?

Spring Boot 来自于 Spring 大家族,是 Spring 官方团队(Pivotal 团队)提供的全新框架,它的诞生解决了 Spring 框架使用较为繁琐的问题。Spring Boot 的核心思想是约定优于配置,让开发人员不需要配置任何 XML 文件,就可以像 Maven 整合 Jar 包一样,整合并使用所有框架。

Spring Boot 特性

(1)秒级构建一个项目;
(2)便捷的对外输出格式,如 REST API、WebSocket、Web 等;
(3)简洁的安全集成策略;
(4)内嵌容器运行,如 Tomcat、Jetty;
(5)强大的开发包,支持热启动;
(6)自动管理依赖;
(7)自带应用监控。

Spring Boot 2 对系统环境的要求

Java 8+
Gradle 4+ or Maven 3.2+
Tomcat 8+

Spring Boot 使用

在开始之前,我们先来创建一个Spring Boot 项目。

Spring Boot 有两种快速创建的方式:Spring 官网在线网站创建和 IntelliJ IDEA 的 Spring Initializr 创建,下面分别来看。

创建 Spring Boot 项目
1)在线网站创建
在浏览器输入 https://start.spring.io,页面打开如下图所示:
在这里插入图片描述
填写相应的项目信息,选择对应的 Spring Boot 和 Java 版本点击 “Generate the project”按钮下载项目压缩文件,解压后用 IDEA 打开即可。

其中 Group 和 Artifact 是 Maven 项目用来确认依赖项目的标识,比如:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.1.6.RELEASE</version>
</dependency>

Group 对应的是配置文件的 groupId,相当于项目的包名;而 Artifact 对应的是配置文件的 artifactId,相当于项目名。

2)使用 IntelliJ IDEA 创建
① 新建项目 → 选择 Spring Initialzr,如下图所示:
在这里插入图片描述
② 点击 Next 按钮,填写对应的项目信息(和在线网站创建的字段基本相同),如下图所示:
在这里插入图片描述

③ 点击 Next 按钮,选择相应的依赖信息,如下图所示:
在这里插入图片描述
④ 点击 Next 按钮,选择项目保存的路径,点击 Finish 创建项目完成,如下图所示:
在这里插入图片描述
创建一个 Web 应用
1)pom.xml 中添加 Web 模块的依赖,如下所示:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2)创建后台代码

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @RequestMapping("/index")
    public String index(String name) {
        return "Hello, " + name;
    }
}

3)启动并访问项目
项目的启动类是标识了 @Spring BootApplication 的类,代码如下所示:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringbootlearningApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootlearningApplication.class, args);
    }
}

启动并访问 http://localhost:8080/index?name=laowang效果如下:
在这里插入图片描述
到目前为止 Spring Boot 的项目就创建并正常运行了。

设置配置文件
Spring Boot 的配置文件,是 resources 目录下 application.properties 文件,如下图所示:
在这里插入图片描述
可以在配置文件中设置很多关于 Spring 框架的配置,格式如下配置所示:

# 项目运行端口
server.port=8086
# 请求编码格式
server.tomcat.uri-encoding=UTF-8

Spring Boot 的其他功能开发和 Spring 相同(Spring Boot 2 是基于 Spring Framework 5 构建的),本文就不过多的介绍了。

Spring Boot 发布

Spring Boot 项目的发布方式有两种:

(1)内置容器运行

(2)外置容器(Tomcat)运行

内置容器运行

1)打包应用

使用窗口命令,在 pom.xml 同级目录下:

mvn clean package  -Dmaven.test.skip=true

Dmaven.test.skip=true 表示不执行测试用例,也不编译测试用例类。

2)启动应用
后台启动 Java 程序, 命令如下:

nohup java -jar springbootlearning-0.0.1-SNAPSHOT.jar &

停止程序

首先查询 Java 程序的 pid

ps -ef|grep java

再停止程序

kill -9 pid

操作如下图所示:
在这里插入图片描述
扩展内容

指定程序运行日志文件

nohup java -jar springbootlearning-0.0.1-SNAPSHOT.jar 1>>logs 2>>errlog &

其中:

1:表示普通日志

2:表示错误日志

外置容器(Tomcat)运行

1)排除内置 Tomcat

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

将 scope 属性设置为 provided,表示打包不会包含此依赖。

2)配置启动类
在项目的启动类中继承 Spring BootServletInitializer 并重写 configure() 方法:

@SpringBootApplication
public class PackageApplication extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(PackageApplication.class);
    }
    public static void main(String[] args) {
        SpringApplication.run(PackageApplication.class, args);
    }
}

3)打包应用
使用窗口命令,在 pom.xml 同级目录下:

mvn clean package  -Dmaven.test.skip=true

4)部署应用
打包完成会在 target 目录下生成:项目名 + 版本号.war 文件,复制到 Tomcat 的 webapps 目录下,运行 Tomcat 即可。

                                                      2020/3/28
                                                      每天进步一点点
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值