您的位置:首页 > 编程语言 > Java开发

Spring Boot快速入门

TanPengBB 2017-06-05 16:59 64 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/TanPengBB/article/details/72868980

Spring Boot快速入门

相信很多人选择

Spring Boot
主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。我们在
Spring Boot
使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在
pom.xml
中引入模块化的
Starter POMs
,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在
application.properties
中完成一些属性配置就能开启各模块的应用

在之前的各篇文章中都有提及关于application.properties的使用,主要用来配置数据库连接、日志相关配置等。除了这些配置内容之外,本文将具体介绍一些在application.properties配置中的其他特性和使用方法。

自定义属性与加载

我们在使用Spring Boot的时候,通常也需要定义一些自己使用的属性,我们可以如下方式直接定义:

# Spring Boot属性配置文件详解

相信很多人选择`Spring Boot`主要是考虑到它既能兼顾Spring的强大功能,还能实现快速开发的便捷。我们在`Spring Boot`使用过程中,最直观的感受就是没有了原来自己整合Spring应用时繁多的XML配置内容,替代它的是在`pom.xml`中引入模块化的`Starter POMs`,其中各个模块都有自己的默认配置,所以如果不是特殊应用场景,就只需要在`application.properties`中完成一些属性配置就能开启各模块的应用

在之前的各篇文章中都有提及关于application.properties的使用,主要用来配置数据库连接、日志相关配置等。除了这些配置内容之外,本文将具体介绍一些在application.properties配置中的其他特性和使用方法。
# 自定义属性与加载
### 我们在使用Spring Boot的时候,通常也需要定义一些自己使用的属性,我们可以如下方式直接定义:
```xml

```
```xml

<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>

<div class="se-preview-section-delimiter"></div>

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

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

<div class="se-preview-section-delimiter"></div>

编写HelloWorld服务

创建package命名为com.didispace.web(根据实际情况修改)

创建HelloController类,内容如下

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

<div class="se-preview-section-delimiter"></div>

启动主程序,打开浏览器访问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")));
}
}
<div class="se-preview-section-delimiter"></div>

使用MockServletContext来构建一个空的WebApplicationContext,这样我们创建的HelloController就可以在@Before函数中创建并传递到MockMvcBuilders.standaloneSetup()函数中。

至此已完成目标,通过Maven构建了一个空白Spring Boot项目,再通过引入web模块实现了一个简单的请求处理。

—谭鹏

```
<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>

<div class="se-preview-section-delimiter"></div>

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

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

<div class="se-preview-section-delimiter"></div>

编写HelloWorld服务

创建package命名为com.didispace.web(根据实际情况修改)

创建HelloController类,内容如下

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

<div class="se-preview-section-delimiter"></div>

启动主程序,打开浏览器访问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()函数中。

至此已完成目标,通过Maven构建了一个空白Spring Boot项目,再通过引入web模块实现了一个简单的请求处理。

—谭鹏 2017年6月5日16:58:08

标签: