spring-boot的helloWorld版本

1.运行环境

开发工具:intellij idea

JDK版本:1.8

项目管理工具:Maven 3.2.5

2.Maven Plugin管理

pom.xml配置代码:

 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 3   <modelVersion>4.0.0</modelVersion>
 4
 5   <groupId>spring-boot-helloWorld</groupId>
 6   <artifactId>spring-boot-helloWorld</artifactId>
 7   <version>1.0-SNAPSHOT</version>
 8
 9   <!-- Spring Boot 启动父依赖 -->
10   <parent>
11     <groupId>org.springframework.boot</groupId>
12     <artifactId>spring-boot-starter-parent</artifactId>
13     <version>1.3.3.RELEASE</version>
14   </parent>
15
16   <dependencies>
17     <!-- Spring Boot web依赖 -->
18     <dependency>
19       <groupId>org.springframework.boot</groupId>
20       <artifactId>spring-boot-starter-web</artifactId>
21     </dependency>
22     <!-- Spring Boot test依赖 -->
23     <dependency>
24       <groupId>org.springframework.boot</groupId>
25       <artifactId>spring-boot-starter-test</artifactId>
26       <scope>test</scope>
27     </dependency>
28   </dependencies>
29 </project>

3.Application启动类编写

 1 package com.goku.demo;
 2
 3 import org.springframework.boot.SpringApplication;
 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
 5 import org.springframework.boot.web.servlet.ServletComponentScan;
 6
 7 /**
 8  * Created by nbfujx on 2017/11/20.
 9  */
10 // Spring Boot 应用的标识
11 @SpringBootApplication
12 @ServletComponentScan
13 public class DemoApplication {
14
15     public static void main(String[] args) {
16         // 程序启动入口
17         // 启动嵌入式的 Tomcat 并初始化 Spring 环境及其各 Spring 组件
18         SpringApplication.run(DemoApplication.class,args);
19     }
20 }

4.ExampleController控制器编写

 1 package com.goku.demo.controller;
 2
 3 import org.springframework.web.bind.annotation.PathVariable;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5 import org.springframework.web.bind.annotation.RestController;
 6
 7 /**
 8  * Created by nbfujx on 2017-11-20.
 9  */
10 @RestController
11 public class ExampleController {
12
13     @RequestMapping("/")
14     public String helloWorld()
15     {
16         return "helloWorld";
17     }
18
19     @RequestMapping("/{str}")
20     public String helloWorld(@PathVariable  String str)
21     {
22         return "hello"+ str;
23     }
24 }

5.使用MockMvc对Controller进行测试

添加相关单元测试

 1 package test.com.goku.demo.controller;
 2
 3 import com.goku.demo.DemoApplication;
 4 import com.goku.demo.controller.ExampleController;
 5 import org.junit.Before;
 6 import org.junit.Test;
 7 import org.junit.runner.RunWith;
 8 import org.springframework.beans.factory.annotation.Autowired;
 9 import org.springframework.boot.test.context.SpringBootTest;
10 import org.springframework.http.MediaType;
11 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
12 import org.springframework.test.context.web.WebAppConfiguration;
13 import org.springframework.test.web.servlet.MockMvc;
14 import org.springframework.test.web.servlet.RequestBuilder;
15 import org.springframework.test.web.servlet.ResultActions;
16 import org.springframework.test.web.servlet.setup.MockMvcBuilders;
17 import org.springframework.web.context.WebApplicationContext;
18 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
19 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
20 import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
21 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
22
23 import static org.junit.Assert.*;
24
25 /**
26  * Created by nbfujx on 2017-11-20.
27  */
28 @RunWith(SpringJUnit4ClassRunner.class)
29 @SpringBootTest(classes = DemoApplication.class)//这里的Application是springboot的启动类名。
30 @WebAppConfiguration
31 public class ExampleControllerTest {
32
33     @Autowired
34     private WebApplicationContext context;
35     private MockMvc mvc;
36
37     @Before
38     public void setUp() throws Exception {
39         mvc = MockMvcBuilders.webAppContextSetup(context).build();//建议使用这种
40     }
41
42     @Test
43     public void helloWorld() throws Exception {
44         String responseString = mvc.perform(get("/")    //请求的url,请求的方法是get
45                 .contentType(MediaType.APPLICATION_JSON)  //数据的格式
46                 .param("pcode","root")         //添加参数
47         ).andExpect(status().isOk())    //返回的状态是200
48                 .andDo(print())         //打印出请求和相应的内容
49                 .andReturn().getResponse().getContentAsString();   //将相应的数据转换为字符串
50         System.out.println("--------返回的json = " + responseString);
51     }
52
53     @Test
54     public void helloWorld1() throws Exception {
55         String responseString = mvc.perform(get("/str")    //请求的url,请求的方法是get
56                 .contentType(MediaType.APPLICATION_JSON)  //数据的格式
57                 .param("pcode","root")         //添加参数
58         ).andExpect(status().isOk())    //返回的状态是200
59                 .andDo(print())         //打印出请求和相应的内容
60                 .andReturn().getResponse().getContentAsString();   //将相应的数据转换为字符串
61         System.out.println("--------返回的json = " + responseString);
62     }
63
64 }

6.在页面上运行

http://localhost:8080/

http://localhost:8080/str

7.GITHUB地址

https://github.com/nbfujx/springBoot-learn-demo/tree/master/spring-boot-helloWorld

时间: 2024-10-10 18:17:35

spring-boot的helloWorld版本的相关文章

Spring Boot Learning(helloWorld)

使用 Spring Tool Suite 工具开发,注意和eclipse版本的队员. 步骤: 最后生成的目录结构: 在这里我们可以通过查看pom.xml看看都有哪些包被依赖了进去: 可以看到,当在前面建立工程的时候选择web,默认回引入内置的tomcat. 接下来,代码: package com.example.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springf

【Spring Boot】 Spring Boot 2.x 版本 CacheManager 配置方式

Spring Boot 1.X RedisCacheManager 配置方式 @Bean public CacheManager cacheManager(RedisTemplate redisTemplate) { RedisCacheManager cacheManager= new RedisCacheManager(redisTemplate); cacheManager.setDefaultExpiration(60); Map<String,Long> expiresMap=new

Spring Boot 之 HelloWorld详解

SpringBoot介绍~<暂时假装有> 配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://

第一节:我的第一个spring boot demo helloworld

一.首先声明一下,我使用的是idea开发工具.是同事推荐使用的idea工具,对于myeclipse.eclipse.idea 有什么差异,我还不知道,要是有知道大神可以说明一下,谢谢 二.废话不多说了,直接上图和源码 1.打开idea后 项目名称为demo,可以改为helloworld 勾选它就好 最好点击完成 原文地址:https://www.cnblogs.com/studyProgramme/p/8275617.html

spring boot 自动装配的实现原理和骚操作,不同版本实现细节调整,debug 到裂开......

开篇说明: 注解本身并没有什么实际的功能(非要说标记也是一个“实际”的功能的话,也可以算吧),隐藏在背后的注解处理器才是实现注解机制的核心.本篇将从这两个层面出发探索 spring boot 自动装配的秘密,并使用 spring boot 的自动装配机制来实现自动装配. 本次代码已经放到 github:https://github.com/christmad/code-share/tree/master/spring-boot-config-practice 代码中主要是做了 @Configur

spring boot(一):Hello World

前言 作为程序员,不管是.net程序员还是java程序员其实从骨子里都不太喜欢各种配置文件的,记得刚开始学java SSH时动不动就装B,来看看我的配置多不多,又是从.net开始写java的程序员提起各种spring配置文件更是头大,那么Spring Boot诞生了,Spring Boot的诞生只为在当前流行的微服务框架下简化开发,不用再一上来就是各种配置文件了. 老生常谈,先从Hello World写起.本篇基于idea.maven搭建spring boot开发环境. 项目结构 先看下项目大致

Spring Boot + Elasticsearch

spring data elasticsearch elasticsearch 2.0.0.RELEASE 2.2.0 1.4.0.M1 1.7.3 1.3.0.RELEASE 1.5.2 1.2.0.RELEASE 1.4.4 1.1.0.RELEASE 1.3.2 1.0.0.RELEASE https://github.com/helloworldtang/spring-data-elasticsearch 1.None of the configured nodes are availa

Spring boot 1.2.5.RELEASE 使用velocity模板中文乱码问题

application.properties文件: spring.velocity.resourceLoaderPath=classpath:/templates/ spring.velocity.prefix= spring.velocity.suffix=.vm spring.velocity.cache=false spring.velocity.check-template-location=true spring.velocity.charset=UTF-8 spring.veloci

深入学习微框架:Spring Boot

由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者. 多年以来,Spring IO平台饱受非议的一点就是大量的XML配置以及复杂的依赖管理.在去年的SpringOne 2GX会议上,Pivotal的CTO Adrian Colyer回应了这些批评,并且

[转] Spring Boot 揭秘与实战(二) 数据存储篇 - ElasticSearch

[From] http://www.tuicool.com/articles/JBvQrmj 本文讲解Spring Boot基础下,如何使用 ElasticSearch,实现全文搜索. 版本须知 spring data elasticSearch 的版本与Spring boot.Elasticsearch版本需要匹配. Spring Boot Version (x) Spring Data Elasticsearch Version (y) Elasticsearch Version (z) x