spring-boot的helloWorld详解

简介: 1.运行环境开发工具:intellij ideaJDK版本:1.8项目管理工具:Maven 3.2.52.Maven Plugin管理pom.xml配置代码: 1 3 4.0.0 4 5 spring-boot-helloWorld 6 spring-boot-helloWorld 7 1.

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

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 }
View Code

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 }
View Code

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 }
View Code

6.在页面上运行

http://localhost:8080/

http://localhost:8080/str

 

7.GITHUB地址

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

目录
相关文章
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
317 0
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
SpringBoot+Mybatis-Plus+PageHelper分页+多条件查询
571 0
|
11月前
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
2589 17
Spring Boot 两种部署到服务器的方式
|
9月前
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
353 0
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
522 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
721 2
|
XML Java 测试技术
spring复习01,IOC的思想和第一个spring程序helloWorld
Spring框架中IOC(控制反转)的思想和实现,通过一个简单的例子展示了如何通过IOC容器管理对象依赖,从而提高代码的灵活性和可维护性。
spring复习01,IOC的思想和第一个spring程序helloWorld
|
缓存 NoSQL Java
Springboot自定义注解+aop实现redis自动清除缓存功能
通过上述步骤,我们不仅实现了一个高度灵活的缓存管理机制,还保证了代码的整洁与可维护性。自定义注解与AOP的结合,让缓存清除逻辑与业务逻辑分离,便于未来的扩展和修改。这种设计模式非常适合需要频繁更新缓存的应用场景,大大提高了开发效率和系统的响应速度。
468 2
|
Java Maven
springboot项目打jar包后,如何部署到服务器
springboot项目打jar包后,如何部署到服务器
1066 1
|
运维 Java 关系型数据库
Spring运维之boot项目bean属性的绑定读取与校验
Spring运维之boot项目bean属性的绑定读取与校验
179 2