2018-08-11 中文代码示例之Spring Boot 2.0.3问好
上次试用Spring Boot还是两年前: 中文代码示例之Spring Boot 1.3.3演示. 打算用在一个讨论组内小项目上, 于是从官网Building an Application with Spring Boot入门开始.
源码库: program-in-chinese/spring_boot_hello_zh
汉化后的源码如下:
问好控制器:
@RestController
public class 问好控制器 {
@RequestMapping("/")
public String 索引() {
return "Spring Boot问好!";
}
}
主入口:
@SpringBootApplication
public class 应用 {
public static void main(String[] 参数) {
SpringApplication.run(应用.class, 参数);
}
@Bean
public CommandLineRunner 命令行运行器(ApplicationContext 上下文) {
return 参数 -> {
System.out.println("检查一下Spring Boot提供的beans:");
String[] bean名 = 上下文.getBeanDefinitionNames();
Arrays.sort(bean名);
for (String 某bean名 : bean名) {
System.out.println(某bean名);
}
};
}
}
控制器单元测试:
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class 问好控制器Test {
@Autowired
private MockMvc mvc;
@Test
public void 取问好() throws Exception {
mvc.perform(MockMvcRequestBuilders.get("/").accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(content().string(equalTo("Spring Boot问好!")));
}
}
集成测试:
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class 问好控制器集成测试 {
@LocalServerPort
private int 端口;
private URL 基础网址;
@Autowired
private TestRestTemplate 模板;
@Before
public void 初始化() throws Exception {
this.基础网址 = new URL("http://localhost:" + 端口 + "/");
}
@Test
public void 取问好() throws Exception {
ResponseEntity<String> 响应 = 模板.getForEntity(基础网址.toString(),
String.class);
assertThat(响应.getBody(), equalTo("Spring Boot问好!"));
}
}
本地启动应用:
$ mvn package && java -jar target/spring-boot-hello-0.1.0.jar
访问本地端口响应如期:
$ curl localhost:8080
Spring Boot问好!
2018-08-11 中文代码示例之Spring Boot 2.0.3问好的更多相关文章
- 2017-11-25 中文代码示例之Spring Boot 1.3.3演示
"中文编程"知乎专栏原文 源码: program-in-chinese/jinxiaocun 由于这个演示项目成型于去年(详见中文编程的尝试历程小记), Spring Boot还是 ...
- Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览
关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/15/springboot2_code/ 项目结构 结构分析: Spring-boot-pr ...
- 中文代码示例之Vuejs入门教程(一)
原址: https://zhuanlan.zhihu.com/p/30917346 为了检验中文命名在主流框架中的支持程度, 在vuejs官方入门教程第一部分的示例代码中尽量使用了中文命名. 所有演示 ...
- 2018-11-27 中文代码示例之Programming in Scala笔记第七八章
续前文: 中文代码示例之Programming in Scala学习笔记第二三章 中文代码示例之Programming in Scala笔记第四五六章. 同样仅节选有意思的例程部分作演示之用. 源文档 ...
- 中文代码示例之NW.js桌面应用开发初体验
先看到了NW.js(应该是前身node-webkit的缩写? 觉得该起个更讲究的名字, 如果是NorthWest之意的话, logo(见下)里的指南针好像也没指着西北啊)和Electron的比较文章: ...
- 2017-11-09 中文代码示例之Vuejs入门教程(一)
"中文编程"知乎专栏原链 为了检验中文命名在主流框架中的支持程度, 在vuejs官方入门教程第一部分的示例代码中尽量使用了中文命名. 所有演示都在本地测试通过, 源码在这里. 下面 ...
- 中文代码示例之Angular入门教程尝试
原址: https://zhuanlan.zhihu.com/p/30853705 原文: 中文代码示例教程之Angular尝试 为了检验中文命名在Angular中的支持程度, 把Angular官方入 ...
- 2018-12-09 疑似bug_中文代码示例之Programming in Scala笔记第九十章
续前文: 中文代码示例之Programming in Scala笔记第七八章 源文档库: program-in-chinese/Programming_in_Scala_study_notes_zh ...
- 2018-11-16 中文代码示例之Programming in Scala笔记第四五六章
续前文: 中文代码示例之Programming in Scala学习笔记第二三章. 同样仅节选有意思的例程部分作演示之用. 源文档仍在: program-in-chinese/Programming_ ...
随机推荐
- js控制多层单选,多选按钮,做隐藏操作
项目中遇到多层级单选,多选按钮的置灰/隐藏操作.特意写了一个公用组件: //置灰方式 //controllerArr数组添加如下数据: //{ctrlName:"gds_anquanyuan ...
- JAVA面试题-数组字符串基础
1.大写的Integer和String是可变类还是不可变类?怎么定义不可变类?不可变.用final关键字,如public final class Integer extends Number 2.比较 ...
- python列表(list)的简单学习
列表是由一系列按特定顺序排列的元素组成, 是 Python 中使用最频繁的数据类型.列表可以完成大多数集合类的数据结构实现.列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表.字典(即嵌套 ...
- spring boot -thymeleaf-异常处理
异常流程 :controller-ControllerAdvice-异常解析器-默认的error页面 1.错误页面error.html: 程序出现异常会自动跳到error.html里,视频效果,该页面 ...
- spring boot整合 springmvc+mybatis
需要以下依赖 <dependencies> <dependency> <groupId>org.springframework.boot</groupId&g ...
- 避免jquery的click多次绑定方法
$("#xxx").click(function(){}) 这样只是会在原click方法中继续添加新方法: 当然解决办法是解绑: $("#xxx").unbin ...
- 扒一扒.net、.net framework、mono和Unity
zhaichao 标签: .net.net frameworkc#monounity 2017-04-23 14:39 425人阅读 评论(0) 收藏 举报 版权声明:本文为博主原创文章,未经博主允许 ...
- java jar 后台运行
nohup java -jar $APP_NAME.jar >/dev/null &
- springboot Aop 统一处理Web请求日志
1.增加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- 如何用vue-router为每个路由配置各自的title
传统方法 以前在单页面路由中,就只能在html文件中定一个固定的网站的title.如果想要动态的去修改,需要使用如下的方法. document.title = '这是一个标题'; 这样会让我们做很多无 ...