Spring Boot 入门 - 1.3 Spring Boot 的 Hello World

本文介绍如何使用SpringBoot快速构建Web应用,从项目结构解析到引入Web模块,并演示了输出HelloWorld到Web页面的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这章节分析SpringBoot项目结构及如何输出Hello World 到 Web页面;

项目结构解析

如上图所示,Spring Boot的基础结构共三个文件(具体路径根据用户生成项目时填写的Group所有差异):

  • src/main/java/ 下的程序入口 DemoApplication.java

  • src/main/resources下的配置文件:application.properties

  • src/test/下的测试入口:DemoApplicationTests.java

生成的 DemoApplication.javaDemoApplicationTests.java 类都可以直接运行来启动当前创建的项目,由于目前该项目未配合任何数据访问或Web模块,程序会在加载完Spring之后结束运行。

引入Web模块

当前项目的pom.xml内容如下,仅引入了两个模块:

  • spring-boot-starter:核心模块,包括自动配置支持、日志和YAML

  • spring-boot-starter-test:测试模块,包括 JUnitHamcrestMockito

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

引入Web模块,需添加spring-boot-starter-web模块:

<dependencies>
        .....
        .....

        <!--引入Web模块-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

    </dependencies>

编写HelloWorld服务

创建package 命名为 org.wlj.demo.web (根据实际情况修改);

创建 HelloController 类,内容如下:

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }
}

启动主程序,打开浏览器访问 http://localhost:8080/hello,可以看到页面输出Hello World

启动方式如下图:

编写单元测试用例

打开的src/test/下的测试入口DemoApplicationTests.java类。下面编写一个简单的单元测试来模拟http请求,具体如下:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = MockServletContext.class)
@WebAppConfiguration
public class DemoApplicationTests {

    private MockMvc mvc;

    @Before
    public void setUp() throws Exception {
        mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();
    }

    @Test
    public void getHello() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/hello")
                .accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk())
                .andExpect(content().string(equalTo("Hello World")));
    }
}

使用 MockServletContext 来构建一个空的 WebApplicationContext ,这样我们创建的HelloController 就可以在 @Before 函数中创建并传递到 MockMvcBuilders.standaloneSetup() 函数中。

注意 引入下面内容,让statuscontentequalTo 函数可用:

import static org.hamcrest.Matchers.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

单元测试,我后面会着重一篇进行研究,这里只是入门学习一下哦;

至此已完成目标,通过Maven构建了一个空白Spring Boot项目,再通过引入web模块实现了一个简单的请求处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值