spring boot一步一步-Hello word
来源:互联网 发布:cpa做题软件 编辑:程序博客网 时间:2024/05/16 02:02
构建一个restful风格的web service
这篇文章将引导您完成创建一个“hello world”的过程与Spring RESTful web服务。
你将会构建什么东西
你会构建一个接受HTTP GET请求的服务:
将得到一个JSON反馈
您可以自定义的查询字符串一个可选参数 name 的请求:
你将得到的返回值JSON
我们需要以下几样东西来完成它
- 15分钟左右的时间
- 一个擅长的文本编辑器或IDE
- JDK 1.8 以上版本
- Maven 3.0+
接下来
创建一个maven项目
目录结构如下
创建返回结果的java类
现在我们已经初步构建了系统,可以创建Web服务了。
来明确一下整个交互过程。
该服务将处理为GET/问候语的请求,可选的查询字符串 name 参数。 GET请求应返回一个状态为200 OK的响应。结果应该是这个样子:
id字段是表示请求的唯一标识符和content表示返回的内容。
为了等到这样的返回结构,我们来构建一个这样的java类
小知识:Spring默认使用 Jackson JSON 库自动封装实体为JSON。
接下来创建controller,用于url访问的路径。
创建资源控制器
在Spring中构建的RESTful Web服务,HTTP请求都是由控制器来处理。只需要用@RestController注解标识,下面的GreetingController接收一个GET方式的请求/greeting
返回一个Greeting 实体
这个controller虽然代码不多但是包含了很多内容,接下来我们一个一个来说
@RequestMapping注解确保HTTP请求/greeting
被映射到的greeting
()方法。
小知识:上面的例子并没有指定GET与PUT,POST,等等,因为@RequestMapping在默认情况下接收的所有HTTP操作。我们可以使用@RequestMapping(method= GET)来精确控制请求的接收方式。
@RequestParam 将请求参数里面的name 绑定到 了greeting() 方法里的参数 name上 并且 使用 defaultValue 来指定如果name没有值默认值就是 World ,@RequestParam 有一个属性 required=false 用来指定这个参数是否必须传 默认为false。
greeting()方法里面返回了一个Greeting对象以AtomicLong产生一个唯一id,以tmplate为模板动态的根据name构造content。
这段代码使用Spring4的新@RestController注解,这标志着类作为Restful控制器。实际这个注解只是简单的将@Controller 和 @ResponseBody 两个注解组合在了一起
Greeting对象是如何转换成JSON格式的呢?那是因为spring里面默认的转换器Jackson 2 里面的MappingJackson2HttpMessageConverter
接下来我们来创建应用启动类
以前我们的项目要运行总是要把项目打成war包,总之是各种麻烦。而用spring boot你甚至可以直接执行一个main方法,就能运行一个应用程序。上代码:
其中@SpringBootApplication注解包含了三个注解
- @Configuration 声明为配置类
- @EnableAutoConfiguration 自动装配
- 如果有需要我们还要另行添加@EnableWebMvc来支持jsp等视图解析
- @ComponentScan 组件扫描
就是这样我们的项目就已经建立完了。你会问web.xml spring.xml 那些文件呢?我的回答是根本不需要。就是这样完了。
开始测试吧
使用浏览器访问 http://localhost:8080/greeting 返回结果应该是
再来加个参数试试 http://localhost:8080/greeting?name=User 返回结果应该是
看到没 name 值跟着变了,id值也变了。我们的初次体验就到这儿吧!
本文原创地址:三国志2
参考:http://spring.io/guides/gs/rest-service/
- spring boot一步一步-Hello word
- Spring boot之hello word
- spring boot 自学笔记(一) hello word
- Spring Boot简单入门之Hello Word
- spring boot(二) 输出hello Word
- Spring Boot 初级Hello Word web项目详细搭建
- springboot学习笔记(一) Spring boot Hello Word!
- spring-boot-hello-world
- Hello Spring Boot应用程序
- spring-boot Hello World
- Hello spring boot!
- hello World Spring Boot
- spring data Hello word
- spring boot 之 hello world !
- Spring Boot:简单Hello World
- Spring Boot 的 Hello World
- Spring Boot 之Hello World
- spring boot(1)-Hello World
- python之路-写脚本到写程序
- Unity协程(Coroutine)原理深入剖析 By D.S.Qiu
- HttpCookie类
- Android paint的drawText() 的正确使用方式
- 感触,在凌晨05:00.
- spring boot一步一步-Hello word
- Spring Boot定时器如何使用
- Spring Boot基础|文件上传配置|Spring Boot如何上传文件
- [python] Adding or Deleting elements in a list or set
- POJ 2823 单调队列入门题
- 分布式事务两阶段提交(2PC)的思考
- 二十多行代码画太极(Android中的Canvas)
- MATLAB + DATABASE + MYSQL
- 使用poi导入、导出Excel内容