第一章、SpringBoot 入门

2019-05-13  本文已影响0人  Arrows

构建 Spring Boot 项目

创建一个 SpringBoot 项目,本文采用 JDK 1.8、SpringBoot 2.1.4.RELEASE、SpringCloud Greenwich.SR1 编写,具体步骤如下:

  1. 创建一个 Maven 工程,如下图所示:

    SpringBoot入门-1.png
  1. pom.xml 添加 Spring Boot 依赖:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/>
    </parent>
    
    <!-- spring web -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    
  2. 创建应用 main 程序 Application.java,并编写如下代码:

    @SpringBootApplication
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
        }
    }
    
  3. 创建一个Controller SimpleController.java,并编写如下代码:

    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class SimpleController {
        @RequestMapping(value = "/hello", method = RequestMethod.GET)
        public String hello(){
            return "Hello World!";
        }
    }
    
  4. 运行 Application 类中的 main 方法,如下图所示:

    SpringBoot入门-3.png

如上图所示,SpringBoot 应用的服务端口为:8080 (默认端口)

  1. 在浏览器中输入 http://127.0.0.1:8080/hello,如下图所示:

    SpringBoot入门-4.png

SpringBoot 配置文件

Spring Boot 的默认配置文件位置为 src/main/resources/application.properties,Spring Boot 的配置文件除了可以使用传统的 propterties 之外,还支持 YAML 文件。

  1. 在默认文件位置新建一个 application.yml 文件,并编写如下内容

    server:
      port: 8888 # 服务端口
    spring:
      application:
        name: SpringBootDemo # 应用名称
    
  2. 重新启动 Application.java 可以看到如下结果:


    SpringBoot入门-5.png
  1. Spring Boot 使用 spring.profiles.active 配置定义多个不同的环境配置。新建一个 local 环境的配置文件 application-local.yml ,并修改 application.yml 内容,如下所示:

    spring:
      application:
        name: SpringBootDemo # 应用名称
      profiles:
        active: local # 环境配置
    
  2. 重启应用,结果如下所示:


    SpringBoot入门-6.png

SpringBoot 单元测试

  1. 在 pom.xml 添加如下依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <scope>test</scope>
    </dependency>
    
  2. 在 test/java 的目录下创建一个测试类 SimpleControllerTest.java,并编辑如下内容:

    @SpringBootTest
    @RunWith(SpringRunner.class)
    public class SimpleControllerTest {
    
       @Autowired
       private WebApplicationContext wac;
    
       private MockMvc mockMvc;
    
       @Before
       public void setup() {
           this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
       }
    
       @Test
       public void whenQuerySuccess() throws Exception{
           MvcResult result = mockMvc
                   .perform(
                           MockMvcRequestBuilders
                                   .get("/hello")
                                   .param("username","success")
                                   .contentType(MediaType.APPLICATION_JSON_UTF8)
                   )
                   .andExpect(MockMvcResultMatchers.status().isOk())
                   .andDo(MockMvcResultHandlers.print())
                   .andReturn();
       }
    }
    
上一篇 下一篇

猜你喜欢

热点阅读