Spring-实战第五版---创建一个完整的Spring项目

文章目录

  • 前言
  • 一、使用 Spring Initializr 创建了一个初始项目结构。
    • 1、在IDEA中打开 File-->New-->Project...如何点击next
    • 2、找到Spring Web,Spring Boot DevTools,以及Thymeleaf
    • 3、点击Finish完成创建
  • 二、写了一个控制器类来处理主页请求。
    • 1.在src-->main-->java下找到TacoCloudApplication类
  • 三、定义了一个视图模板来呈现主页。
    • 1. 在src/main/resources/templates/home.html在这个目录下成home.html前端页面
  • 四、写了一个简单的测试类来检验上诉工作。
    • 2. 在src/test/java/com/example/tacocloud/HomeControllerTest.java下编写测试代码
  • 总结


前言

对于Spring实战学习的第一章内容。包括怎么在一个IDEA上创建一个完整的Spring开发项目。


一、使用 Spring Initializr 创建了一个初始项目结构。

Spring 应用程序可以使用 Spring Initializr 进行初始化,它是基于 web 的,并且在大多数 Java
开发环境中都支持它。 可以使用IDEA来创建一个Spring项目,过程如下图所示:

1、在IDEA中打开 File–>New–>Project…如何点击next

Spring-实战第五版---创建一个完整的Spring项目_第1张图片

2、找到Spring Web,Spring Boot DevTools,以及Thymeleaf

Spring-实战第五版---创建一个完整的Spring项目_第2张图片

3、点击Finish完成创建

Spring-实战第五版---创建一个完整的Spring项目_第3张图片

1.mvnw 和 mvnw.cmd —— 这些是 Maven 包装器脚本。即使你的计算机上没有安装 Maven,也可以使用这些脚本构建项目。
2.pom.xml —— 这是 Maven 构建规范,一会儿我们将对此进行更深入的研究。
3.TacoCloudApplication.java —— 这是引导项目的 Spring Boot 主类。稍后,我们将在这节详细介绍。
4.application.properties —— 该文件最初为空,但提供了一个可以指定配置属性的地方。我们将在本章中对此文件进行一些修改。
5.static —— 在此文件夹中,可以放置要提供给浏览器的任何静态内容(图像、样式表、JavaScript 等),最初为空。
6.templates —— 在此文件夹中,放置用于向浏览器呈现内容的模板文件。最初为空,但很快会添加 Thymeleaf 模板。
7.TacoCloudApplicationTests.java —— 这是一个简单的测试类,可确保成功加载 Spring 应用程序上下文。开发应用程序时,将添加更多的测试。

二、写了一个控制器类来处理主页请求。

1.在src–>main–>java下找到TacoCloudApplication类

Spring-实战第五版---创建一个完整的Spring项目_第4张图片

@SpringBootApplication//引导应用程序
public class TacoCloudApplication {

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

}

这是Spring项目的启动类,@SpringBootApplication//引导应用程序,点进去观察发现它有一堆注解
但是其中最重要的是@SpringBootConfiguration @EnableAutoConfiguration @ComponentScan
Spring-实战第五版---创建一个完整的Spring项目_第5张图片

@SpringBootConfiguration 标注当前类是配置类
@EnableAutoConfiguration 标注能够自动配置
@ComponentScan 标注自动扫描组件

三、定义了一个视图模板来呈现主页。

1. 在src/main/resources/templates/home.html在这个目录下成home.html前端页面

Spring-实战第五版---创建一个完整的Spring项目_第6张图片
th:src="@{/images/TacoCloud.png}"代码块表示你存储在src/main/resources/static/images目录下图片的相对地址

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Taco Cloud</title>
</head>

<body>
<h1>Welcome to...</h1>
<img th:src="@{/images/TacoCloud.png}"/>
</body>
</html>

四、写了一个简单的测试类来检验上诉工作。

2. 在src/test/java/com/example/tacocloud/HomeControllerTest.java下编写测试代码

Spring-实战第五版---创建一个完整的Spring项目_第7张图片

注:这里导入的一定保证正确

package com.example.tacocloud;



import static org.hamcrest.Matchers.containsString;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view;

import com.example.tacocloud.controller.HomeController;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;

@RunWith(SpringRunner.class)
@WebMvcTest(HomeController.class)
public class HomeControllerTest {

    @Autowired
    private MockMvc mockMvc;

    @Test
    public void testHomePage() throws Exception{
       mockMvc.perform(get("/"))
               .andExpect(status().isOk())
               .andExpect(view().name("home"))
               .andExpect(content().string(containsString("Welcome to...")));
    }


}

总结

阅读《Sprin实战》第一章做的一个笔记,大致了解Spring项目创建过程,对涉及到的注解内容有了一个跟深刻的认识。

你可能感兴趣的:(Spring,IDEA,JavaWeb,spring,java,intellij-idea)