原创

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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lyhkmm/article/details/78260983

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,可以选填更多。如下图:

 

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

 

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


选择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输出结果如下:

 

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

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

 

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出现的日志:
7、 可以看到项目使用的是Tomcat,占用端口为8080,所以我们在浏览器访问: http://localhost:8080/helloWorld

 

单元测试

        我们除了用浏览器测试还可以用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非常贴心的给出了热部署的支持,在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环境是不是非常快,不需要担心兼容性,版本问题,我们想要什么在配置文件添加个依赖就行。


正文到此结束
Loading...