欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Boot(一)——入门环境搭建

程序员文章站 2022-05-28 18:36:22
...

Spring Boot简介

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

Spring Boot优点

简单、快速、方便,相比之前搭建Spring Web项目,我们需要配置各式各样的文件,有些甚至不需要。而现在随着业务规模扩大,部分功能需要单独分离出来,如果我这个项目仅仅只是需要每天推送一条新闻,如果我的项目仅仅是提供用户登录;我都需要这样折腾一遍!
但是如果使用Spring Boot呢?很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web项目或者是构建一个业务单一的服务!

Spring Boot搭建

1、访问http://start.spring.io/,填写相应的信息,点击Switch to the full version,可以选填更多。如下图:

Spring Boot(一)——入门环境搭建Spring Boot(一)——入门环境搭建 Spring Boot(一)——入门环境搭建

2、点击Generate Project下载项目压缩包,然后使用开发工具导入,这里使用的是IDEA,导入后的项目结构如下图:

Spring Boot(一)——入门环境搭建Spring Boot(一)——入门环境搭建 Spring Boot(一)——入门环境搭建

也可通过开发工具自动下载,如IDEA的步骤:File-->New-->Porject。如下图:

Spring Boot(一)——入门环境搭建

选择next,接下来的步骤就是设置项目名,路径,jdk和其他依赖组件之类的。选择dependencies时可以跳过,这里相当于在之后pom.xml里添加依赖包。

Spring Boot的基础结构共三个文件:

1.src/main/java  程序开发以及主程序入口

2.src/main/resources 配置文件

3.src/test/java  测试程序

养成良好的编码规范,建议的目录结果如下:com.example.myproject,所以本文的目录结构为:com.lyh.demo,其中具体可以细分:

1.Application.java 建议放到跟目录下面,主要用于做一些框架配置

2.domain目录主要用于实体(Entity)与数据访问层(Repository)

3.service 层主要是业务类代码

4.controller 负责页面访问控制

3、这里采用默认的配置就好,运行DemoApplication后console输出结果如下:

Spring Boot(一)——入门环境搭建Spring Boot(一)——入门环境搭建 Spring Boot(一)——入门环境搭建

4、这里只是测试下项目环境,毕竟我们是要弄WEB项目,接下来我们要在pom.xml添加Web模块

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>
       如下图:

Spring Boot(一)——入门环境搭建Spring Boot(一)——入门环境搭建 Spring Boot(一)——入门环境搭建

5、我们添加一个controller类,先在项目目录下添加一个controller包,然后新建一个HelloWorldController类:

package com.lyh.demo.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
//@RestController的意思就是controller里面的方法都以json格式输出,不用再写什么jackjson配置的了!
public class HelloWorldController {
    @RequestMapping("/helloWorld")
    public String helloWorld(){
        return "HelloWorld";
    }
}

6、然后运行项目的主程序DemoApplication,看到console出现的日志:Spring Boot(一)——入门环境搭建
7、可以看到项目使用的是Tomcat,占用端口为8080,所以我们在浏览器访问:http://localhost:8080/helloWorld

Spring Boot(一)——入门环境搭建Spring Boot(一)——入门环境搭建 Spring Boot(一)——入门环境搭建

单元测试

       我们除了用浏览器测试还可以用mockmvc进行单元测试(什么是mockmvc?)
1、进入src/test/下的测试入口,使用mockmvc编写简单的http请求来测试,MockMvcResultHandlers.print()打印出执行结果,如下:

package com.lyh.demo;

import com.lyh.demo.controller.HelloWorldController;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;

@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
   private MockMvc mvc;
   
   @Before
   public void set() throws Exception {
      mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build();
   }
   
   @Test
   public void contextLoads() throws Exception {
      mvc.perform(MockMvcRequestBuilders.get("/helloWorld").accept(MediaType.APPLICATION_JSON))
            .andExpect(MockMvcResultMatchers.status().isOk())
            .andDo(MockMvcResultHandlers.print())
            .andReturn();
   }
}

2、运行DemoApplicationTests,通过console可以看到相应的信息,如通过时间为215ms,返回状态码,header等信息。如下图:

Spring Boot(一)——入门环境搭建 Spring Boot(一)——入门环境搭建Spring Boot(一)——入门环境搭建

热部署

调试过程中我们需要不断的调试代码,如果修改代码一旦需要手动重启服务是非常麻烦的事情。Spring Boot非常贴心的给出了热部署的支持,在pom.xml中添加:

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

总结

       第一节的简单入门教程就到这里,这里我们可以发现,搭建一个Spring Web环境是不是非常快,不需要担心兼容性,版本问题,我们想要什么在配置文件添加个依赖就行。


相关标签: Spring Spring Boot