3.Spring Boot - Hello World

Posted pibaosi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.Spring Boot - Hello World相关的知识,希望对你有一定的参考价值。

1、创建Controller

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

2、编写启动类

@SpringBootApplication
public class Application {

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

3、测试

技术图片

4、配置热部署功能

热启动就需要用到我们在一开始就引入的另外一个组件:spring-boot-devtools。它是 Spring Boot 提供的一组开发工具包,其中就包含我们需要的热部署功能,在使用这个功能之前还需要再做一些配置。

添加依赖

在 pom.xml 文件中添加 spring-boot-devtools 组件。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-Devtools</artifactId>
  <optional>true</optional>
</dependency>

在 plugin 中配置另外一个属性 fork,并且配置为 true。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
            </configuration>
        </plugin>
</plugins>
</build>

OK,以上的配置就完成了,如果你使用的是 Eclipse 集成开发环境,那么恭喜你大功告成了;如果你使用的是 IDEA 集成开发环境,那么还需要做以下配置。

配置 IDEA

选择 File | Settings | Compiler 命令,然后勾选 Build project automatically 复选框,低版本的 IDEA 请勾选 make project automatically 复选框。

技术图片

 

使用快捷键 Ctrl + Shift + A,在输入框中输入 Registry,勾选 compile.automake.allow.when.app.running 复选框:

 技术图片

全部配置完成后,IDEA 就支持热部署了,大家可以试着去改动一下代码就会发现 Spring Boot 会自动重新加载,再也不需要手动单击重新部署了。

为什么 IDEA 需要多配置后面这一步呢?因为 IDEA 默认不是自动编译的,需要我们手动去配置后才会自动编译,而热部署依赖于项目的自动编译功能。

4、单元测试

以往我们在测试Web请求的时候,需要手动输入相关参数在页面测试查看效果,或者自己写post请求。在Spring Boot体系中,Spring给出了一个简单的解决方案,使用MockMVC进行web测试,MockMVC内置了很多工具类和方法,可以模拟post、get请求,并且判断返回的结果是否正确等,也可以利用print()打印执行结果。

 

@SpringBootTest
public class HelloTest {

    private MockMvc mockMvc;

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

    @Test
    public void getHello() throws Exception {
//        mockMvc.perform(MockMvcRequestBuilders.post("/hello?name=小明")
//                .accept(MediaType.APPLICATION_JSON_UTF8))/*.andDo(print())*/
//                .andExpect(MockMvcResultMatchers.content().string(Matchers.containsString("小明")));

        mockMvc.perform(MockMvcRequestBuilders.post("/hello?name=小明")
                .accept(MediaType.APPLICATION_JSON_UTF8)).andDo(MockMvcResultHandlers.print());
    }
}

 


































以上是关于3.Spring Boot - Hello World的主要内容,如果未能解决你的问题,请参考以下文章

spring boot框架学习3-spring boot核心

Spring Boot . 3 -- Spring Boot Auto_configuration 是如何实现的?

[Spring Boot] 3. Spring Boot实现自动配置的基础

[Spring Boot] 3. Spring Boot实现自动配置的基础

linux系统:Shell 脚本编写

Hello,World