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

来源:互联网 发布:海龟交易源码 编辑:程序博客网 时间:2024/05/16 15:29
Spring Boot 学习笔记:                          

Spring Boot(一)——入门环境搭建      Spring Boot(二)——MyBatis             Spring Boot(三)——Redis  
Spring Boot(四)——Mongodb          Spring Boot(五)——RabbitMQ         Spring Boot(六)——Spring Data Jpa

GitHub地址:

https://github.com/lyhkmm/SpringBoot

一、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,导入后的项目结构如下图:

 

       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)@SpringBootTestpublic 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环境是不是非常快,不需要担心兼容性,版本问题,我们想要什么在配置文件添加个依赖就行。
下一章:Spring Boot(二)——MyBatis   GitHub案例地址:SpringBoot入门环境搭建         


原创粉丝点击