spring 4 @RestController 小试
在建立好基本的spring框架后,可以尝试实现一下简单的rest风格请求
1、需要引入的包,部分pom.xml文件
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>
2、dispatcher-servlet.xml配置
<?xml version="1.0" encoding="GBK"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jee="http://www.springframework.org/schema/jee" xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-4.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-4.1.xsd">
<mvc:annotation-driven />
<context:annotation-config />
<context:component-scan base-package="com.zf" />
</beans>
3、创建controller
package com.zf.controller; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import com.zf.po.Message;
import com.zf.po.ServiceType; @RestController
@RequestMapping(value="/ajax")
public class AjaxController { @RequestMapping(value="/json")
public ServiceType jsonAction(){
ServiceType st=new ServiceType();
st.setId(1);
st.setName("ServiceType没有使用xml相关注解,无论是否使用.json后缀,均返回json格式");
st.setPriority(3);
return st;
}
@RequestMapping(value="/html")
public String htmlAction(){
return "直接返回字符串,则视图一般html";
} @RequestMapping(value="/xml")
public Message xmlAction(){
Message st=new Message();
st.setText("无需带后缀,返回XML结构");
st.setName("XML");
return st;
}
@RequestMapping(value="/xml.json")
public Message xmlJsonAction(){
Message st=new Message();
st.setText("message使用了xml相关的注解,使用.json后缀访问,仍返回json数据");
st.setName("json");
return st;
}
}
4、两个简单类
Message.java
package com.zf.po; import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name="root")
public class Message {
String name;
String text;
@XmlElement
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@XmlElement
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
ServiceType.java
package com.zf.po; import java.io.Serializable; public class ServiceType implements Serializable, Cloneable { private static final long serialVersionUID = 1L;
private int id;
private String name;
private int priority; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getPriority() {
return priority;
} public void setPriority(int priority) {
this.priority = priority;
} }
5、启动tomcat后,可以尝试访问以下地址
http://localhost:8080/study/ajax/html
http://localhost:8080/study/ajax/json
http://localhost:8080/study/ajax/xml.json
http://localhost:8080/study/ajax/xml
spring 4 @RestController 小试的更多相关文章
- Spring Framework: @RestController vs @Controller
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annota ...
- 说说Spring中的 @RestController 和 @Controller
Spring MVC执行流程已是JAVA面试中老生常谈的问题,相信各位小伙伴也是信手拈来.今天我们来谈谈另一个面试中必会必知的问题: @RestController和@Controller的区别? S ...
- Spring Boot快速入门
安装 安装依赖 maven是一个依赖管理工具,我们利用maven进行构建.创建一个maven项目,在pom.xml里面添加依赖项 <?xml version="1.0" en ...
- Spring Boot【快速入门】
Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point for building all Sp ...
- Springboot 系列(一)Spring Boot 入门篇
注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 由于 J2EE 的开发变得笨重,繁多的配置, ...
- postman传递对象到spring controller的方式
1.spring Controller @RestController @RequestMapping(value = "/basic/task") public class Ta ...
- spring boot入门篇
Spring Boot[快速入门] Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point ...
- Spring Boot入门学习,解决复杂的spring配置文件及jar包
转载:https://www.cnblogs.com/wmyskxz/p/9010832.html 总结 为何出了这样的框架? Spring Boot 是所有基于 Spring 开发的项目的起点.Sp ...
- Spring Boot【快速入门】简单案例
Spring Boot[快速入门] Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point ...
随机推荐
- MySQL数据库8 -子查询,联合查询
一 使用IN关键字的子查询 问题: 查询游戏类型是'棋牌类' 的游戏的分数信息 - 游戏分数表中并未包含游戏类型信息 思路一:采用链接查询 思路二: 分两步进行,首先找到所以'棋牌类'游戏的编号,再以 ...
- Caliburn.Micro学习笔记目录——li-peng
Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 Caliburn.Micro学习笔记(二)----Actions Caliburn.Micro学习笔记(三)----事件聚合IE ...
- C#方法参数传递机制
1:value(值传递).ref(引用传递).out(输出传递) ref和out使用效果上面是等效的,它们的区别在于:参数标记为ref,那么必须在调用函数之前初始化参数的值:参数标记为out,调用函数 ...
- seajs封装js方法
必须要先引入sea.js文件 <script src="js/sea.js"></script> 其次,引入其他js文件 <script> se ...
- cron表达式详解
@Scheduled(cron = "* * * * * *") cron表达式详解 1.cron表达式格式: {秒数} {分钟} {小时} {日期} {月份} {星期} {年份( ...
- BZOJ 4204 && BZOJ 2510 循环矩阵
n^3logn非常显然.所以要用一种因为这个矩阵是一个循环矩阵,所以只要知道第一行就可以知道所有行了. C[i][j]=C[i-1][j-1]; #include <iostream> # ...
- BackTrack5-r3安装中文版的firefox火狐浏览器
在BT终端中输入:sudo apt-get install firefox 按回车在火狐地址栏里输入"about:config" 回车,点我同意.然后在过滤器里输入"ge ...
- ansible代码分析第一篇--主文件—ansible分析
2016年2月23日,学习,分析ansible代码 ansible是一种运维中使用的批量部署的工具,它本身是一种框架,具体的部署和架构分析,下面这篇文章讲的不错. http://os.51cto.co ...
- pyodbc不支持使用%,应该使用?
pyodbc不支持使用%,应该使用? 如: Sql插入语句cur.execute("INSERT INTO bb VALUES (?,?,?)","s",&qu ...
- asd
弹出输入提示框 :window.prompt(); 24. 指定当前显示链接的位置 :window.location.href="URL" 25. 取出窗体中的所有表单的数量 :d ...