(一)第一个Spring Boot 项目 —— 《一步一步学 Spring Boot 2》读书笔记

本文纯个人读书笔记,书籍《一步一步学 Spring Boot 2》
如果喜欢,可直接购买书籍。如有侵权,请联系删除

一、搭建 Spring Boot 项目

1.创建项目

这边工具采用的是 IntelliJ IDEA ,使用 Spring Initializr 进行项目的创建,Spring Initializr 应该是创建 Spring Boot 项目最方便的一种方式。

单击 File ——> new ——> peoject 。
在这里插入图片描述
在弹出窗口选中 Spring Initializr,在 Project SDK 中选择需要的 JDK 版本( IntelliJ IDEA 有默认一个,也可选择本地安装的 JDK),Next。
在这里插入图片描述
输入包名,选择语言,构建的项目类型等,Next。
在这里插入图片描述
选中 Web ——> Spring Web Starter, Next。
在这里插入图片描述
输入项目名称以及项目保存路径,Finish。
在这里插入图片描述
点击右下角 import Changes,等待。在这里插入图片描述
到这里,一个完整的 Spring Boot 项目搭建成功。不同版本的 IntelliJ IDEA 在创建过程中有些许差异。但大体一致。

2.运行

找到项目的入口类 DemoApplication.java,运行 DemoApplication.java 的 main 函数。
在这里插入图片描述
右击 DemoApplication.java,点击 Run ‘DemoApplication’ 进行运行。
在这里插入图片描述
或者在上方选中 DemoApplication,然后点击绿色的运行符号进行运行。
在这里插入图片描述
最后控制台日志会打印出启动时间,则表示成功。
在这里插入图片描述

二、Spring Boot 文件目录

1.工程目录

在这里插入图片描述

/src/main/java: 目录下放置所有的java文件(源代码文件)。

/src/main/resources: 用于存放所有的资源文件,包括:静态资源文件、配置文件、页面文件等。

/src/main/resources/static: 用于存放各类静态资源。

/src/main/resources/application.properties: 配置文件,这个文件非常重要。
Spring Boot默认支持两种配置文件类型(.properties和.yml)。

/src/main/resources/templates: 用于存放模板文件,如 Thymeleaf 模板文件。

/src/test/java: 放置单元测试类java代码。

/target:放置编译后的.class文件,配置文件等

2.配置文件

Spring Boot 将配置文件进行了统一管理,会自动在 /src/main/resources 目录下寻找 application.properties 或者 application.yml 配置文件。

运行项目时候,Spring Boot 会去加载该配置文件,如果没有配置的参数,则使用默认配置。.properties 和 .yml 只需要有一格就可以。二者配置有所差异。

application.properties:

server.port = 8080

application.yml:

server:
	port:8080

注: 两个配置文件也可以同时存在。同时存在的时候,.properties 配置文件的优先级高于 .yml 。

例:在 .properties 文件中配置了server.port = 8080,同时在 .yml 配置了server.port = 8090。Spring Boot 将使用 .properties 中的 8080 端口。

3.入口类

入口类的类在默认包下,类名是根据项目名称生成的,项目名称 + Application。入口类的代码很简单,代码如下:
DemoApplication.java:

package com.xiaoyue.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

@SpringBootApplication:是一个组合注解,包含 @EnableAutoConfiguration、@ComponentScan和@SpringBootConfiguration 三个注解,是项目启动注解。如果我们使用这三个注解,项目依旧可以启动起来,只是显然过于繁琐。因此,用 @SpringBootApplication简化。

@SpringApplication.run:应用程序开始运行的方法。

4.测试类

Spring Boot 的测试类是放置在 /src/test/java 目录下面,(包括后期我们自己编写的测试类,也都是放在这里)。项目创建的时候,Spring Boot 会帮我们创建测试类,类名为 项目名称 + Application DemoApplicationTests.java。

package com.xiaoyue.demo;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {

    @Test
    public void contextLoads() {
    }
}

@RunWith(SpringRunner.class):@RunWith(Parameterized.class) 参数化运行器,配合 @Parameters 使用 Junit 的参数化功能。查源码可知,SpringRunner 类是继承 SpringJUnit4ClassRunner 类,此处表明使用 SpringJUnit4ClassRunner 执行器。此执行器集成了 Spring 的一些功能。如果只是简单的 Junit 单元测试,该注解可以去掉。

@SpringBootTest:此注解能够测试我们的 SpringApplication,因为 Spring Boot 程序的入口是 SpringApplication, 基本上所有配置都会通过入口类去加载,而该注解可以引用入口类的配置。

@Test:Junit 单元测试的注解,注解在方法上,表示一个测试方法。

5.pom 文件

本质上就是一个 Maven 的配置文件,稍微有点特殊。

spring-boot-starter-parent: 是一个特殊的 starter,它用来提供相关的 Maven 默认依赖,使用它之后,常用的包依赖可以省去 version 标签。

spring-boot-starter-web: 只要将其加入到项目的 maven 依赖中,我们就可以得到了一个可执行的 Web 应用了。该依赖中包含许多常用的依赖包,比如:spring-web、spring-webmvc 等等。我们不需要做任何 Web 配置,便能获得相关 Web 服务。

spring-boot-starter-test: 这个依赖和测试相关,只要引入它,就会把所有与测试相关的包全部引入。

spring-boot-maven-plugin: 这是一个 Maven 插件,能够以 Maven 的方式为应用提供 Spring
Boot 的支持,即为 Spring Boot 应用提供了执行 Maven 操作的可能。能够将 Spring Boot 应用打包为可执行的 jar 或 war 文件。

三、Maven Helper 插件

Maven Helper 是一个 Intellij IDEA 插件,可以通过视图查看 Maven 依赖树,分析 pom 文件中的依赖是否存在冲突,快速定位错误。

1.安装

在菜单栏选择 File——>Settings——>Plugins,在搜索框中输入 Maven Helper,然后点击 Install 安装即可。安装成功之后记得重启下Intellij IDEA 即可使用。

2.使用

插件安装成功后,pom 文件会多了一个 Dependency Analyzer 视图。
在这里插入图片描述

All Dependencies as List:以列表方式显示所有的依赖包。

All Dependencies as Tree:以树形方式显示所有的依赖包。

Conflicts:查看所有有冲突的依赖包,如果存在冲突,会显示红色,同时会显示在右侧视图。
我们可以点击有冲突的包,右击 Exclude 来排除冲突,通过右击 Jump To Source[F12] 可以跳转到原代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值