1.springboot环境搭建与helloworld

springboot诞生背景

  • Spring Boot 诞⽣⼀⽅⾯是因为Spring ⾃身发展所遇到的问题,另⼀⽅⾯在微服务思想诞⽣之际,急需要⼀款快速开发⼯具来实现微服务技术落地,在这样的背景下诞⽣了Spring Boot。Spring Boot 整体的设计思想是:约定优于配置、依赖此设计思路,Spring Boot 进⾏了⼤⼑阔斧的改⾰,让⼈们⾮常容易的实现开发、测试、部署。众多的Starters 成就了Spring Boot 的发展,让使⽤Spring Boot 开发项⽬变的更加简单。

springboot环境搭建

利用idea搭建springboot

  • 通过springinitializer 来快速建立工程

springboot工程目录结构

在这里插入图片描述

  • src/main/java/com/lzg/hello 这个目录下放java的代码
  • src/main/test/目录下放测试代码
  • src/main/resources放配置文件和静态资源

简单的helloworld程序

代码

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(String name){
        return  "hello,world " + name + "热部署";
    }
}

一个坑

在这里插入图片描述

  • java代码的目录需要在你的工程名的那个包下面,建包也得放在它的下面,否则会出现404

@RestController

  • 这个注解 = @ResponseBody + @Controller
  • 加了这个注解的Controller的所有方法返回的数据格式都为json

测试工具MockMvc的使用

@SpringBootTest
public class HelloTest {

    private MockMvc mockMvc;

    @BeforeEach
    public void setUp(){
        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("小明")));;
    }
}
测试配置
  • springboot的单元测试,可以对controller进行post和get测试(不用通过浏览器)
  • 在测试类中包含 MockMvc这个字段
  • @BeforeEach这个注解表示在测试方法之前执行,然后初始化mockMvc
打印请求与相应体
  • 需要包含 import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.*;
    print为这个类的静态方法
  • .accept(MediaType.APPLICATION_JSON_UTF8)).andDo(print());
获取结果判断与预期是否相符
  • andExpect(MockMvcResultMatchers.content().string(Matchers.containsString(“小明”)))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值