Spring

简介

在您第1次接触和读书Spring框架的时候,是否因为其繁杂的安排而退缩了?在您第n次采用Spring框架的时候,是否认为一堆反复黏贴的布局有一些嫌恶?那么您就不妨来试试看使用Spring
Boot来让你更易上手,更简便赶快地构建Spring应用!

Spring
Boot让大家的Spring应用变的更轻量化。比如:你可以单独凭借一个Java类来运转一个Spring引用。你也可以打包你的利用为jar并透过利用java
-jar来运作你的Spring Web应用。

Spring Boot的重要优点:

  • 为持有Spring开发者更快的入门
  • 开箱即用,提供各个默认配置来简化项目安排
  • 内嵌式容器简化Web项目
  • 不曾冗余代码生成和XML配置的要求

急速入门

本章首要对象成功Spring
Boot基础项目标构建,并且实现一个简便的Http请求处理,通过那么些例子对Spring
Boot有一个起始的打听,并经验其社团简单、开发快捷的特点。

系统要求:

  • Java 7及以上
  • Spring Framework 4.1.5及以上

正文拔取Java 1.8.0_73Spring Boot 1.3.2调剂通过。

应用Maven构建项目

  1. 通过SPRING INITIALIZR工具发出基础项目
  2. 访问:http://start.spring.io/
  3. 挑选构建工具Maven Project、Spring
    Boot版本1.3.2以及一些工程基本信息,可参考下图所示

    SPRING INITIALIZR

  4. 点击Generate Project下载项目压缩包

  5. 解压项目包,并用IDE以Maven体系导入,以IntelliJ IDEA 14为例:
  6. 菜单中采取File–>New–>Project from Existing Sources...
  7. 采取解压后的项目文件夹,点击OK
  8. 点击Import project from external model并选择Maven,点击Next到底得了。
  9. 若您的条件有五个本子的JDK,注意到接纳Java SDK的时候请拔取Java 7上述的版本

项目结构分析

品种社团

因而地点步骤完成了根基项目的创导,如上图所示,Spring
Boot的基础结构共两个文件(具体途径遵照用户生成项目时填写的Group所有出入):

  • src/main/java下的次序入口:Chapter1Application
  • src/main/resources下的布局文件:application.properties
  • src/test/下的测试入口:Chapter1ApplicationTests

生成的Chapter1ApplicationChapter1ApplicationTests类都足以从来运行来启动当前创制的连串,由于近日该项目未配合其他数据访问或Web模块,程序会在加载完Spring之后为止运行。

引入Web模块

当前的pom.xml内容如下,仅引入了六个模块:

  • spring-boot-starter:核心模块,包括电动配置补助、日志和YAML
  • spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

引入Web模块,需添加spring-boot-starter-web模块:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

编写HelloWorld服务

  • 创建package命名为com.didispace.web(按照实际境况修改)
  • 创建HelloController类,内容如下

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }

}
  • 起初主程序,打开浏览器访问http://localhost:8080/hello,可以看来页面输出Hello World

编辑单元测试用例

打开的src/test/下的测试入口Chapter1ApplicationTests类。下边编辑一个简易的单元测试来模拟http请求,具体如下:

@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = MockServletContext.class)
@WebAppConfiguration
public class Chapter1ApplicationTests {

    private MockMvc mvc;

    @Before
    public void setUp() throws Exception {
        mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();
    }

    @Test
    public void getHello() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk())
                .andExpect(content().string(equalTo("Hello World")));
    }

}

使用MockServletContext来构建一个空的WebApplicationContext,这样大家成立的HelloController就足以在@Before函数中开创并传递到MockMvcBuilders.standaloneSetup()函数中。

  • 留神引入下边内容,让statuscontentequalTo函数可用

import static org.hamcrest.Matchers.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

时至明天已做到目的,通过Maven构建了一个空白Spring
Boot项目,再通过引入web模块实现了一个粗略的请求处理。

相关文章

网站地图xml地图