spring 4 @RestController 小试

摘要:
xmlversion=“1.0”encoding=“GBK”?

在建立好基本的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

packagecom.zf.controller;

importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.RestController;

importcom.zf.po.Message;
importcom.zf.po.ServiceType;

@RestController
@RequestMapping(value="/ajax")
public classAjaxController {

    @RequestMapping(value="/json")
    publicServiceType jsonAction(){
        ServiceType st=newServiceType();
        st.setId(1);
        st.setName("ServiceType没有使用xml相关注解,无论是否使用.json后缀,均返回json格式");
        st.setPriority(3);
        returnst;
    }
    @RequestMapping(value="/html")
    publicString htmlAction(){
        return "直接返回字符串,则视图一般html";
    }
    
    @RequestMapping(value="/xml")
    publicMessage xmlAction(){
        Message st=newMessage();
        st.setText("无需带后缀,返回XML结构");
        st.setName("XML");
        returnst;
    }
    @RequestMapping(value="/xml.json")
    publicMessage xmlJsonAction(){
        Message st=newMessage();
        st.setText("message使用了xml相关的注解,使用.json后缀访问,仍返回json数据");
        st.setName("json");
        returnst;
    }
}

4、两个简单类

Message.java

packagecom.zf.po;

importjavax.xml.bind.annotation.XmlElement;
importjavax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="root")
public classMessage {
    String name;
    String text;
    @XmlElement
    publicString getName() {
        returnname;
    }
    public voidsetName(String name) {
        this.name =name;
    }
    @XmlElement
    publicString getText() {
        returntext;
    }
    public voidsetText(String text) {
        this.text =text;
    }
}

ServiceType.java

packagecom.zf.po;

importjava.io.Serializable;

public class ServiceType implementsSerializable, Cloneable {

    private static final long serialVersionUID = 1L;
    private intid;
    privateString name;
    private intpriority;

    public intgetId() {
        returnid;
    }

    public void setId(intid) {
        this.id =id;
    }

    publicString getName() {
        returnname;
    }

    public voidsetName(String name) {
        this.name =name;
    }

    public intgetPriority() {
        returnpriority;
    }

    public void setPriority(intpriority) {
        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 小试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Unicode和ANSI之间转换 NotePad++轻松实现libgdx学习记录6——动作Action下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

谈jdbcTemplate与mybatis

为什么会产生 Hibernate Mybatis 这类的dao层框架 传统的jdbc 虽然执行速度很快,但是开发效率很低,随着面向对象开发的设计思想,在面向对象编程中 将对象 进行持久化,存入关系型的数据库时,由于关系型数据库的设计思想是数学思维,在持久化时,必须要对象拆分各个属性值,才可存入数据库;传统的jdbc 持久化时 对象持久化时 ,取出对象的一个...

SSH框架总结

首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活、易于扩展的多层Web应用程序。 集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。 Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模...

idea快速搭建springboot项目

Spring Boot是由Pivotal团队提供的全新框架,设计目的是用来简化新Spring应用的初始搭建以及开发过程。它主要推崇的是'消灭配置’,实现零配置。 那么,如何在idea中创建一个springboot项目呢? 一.在你建立的工程下创建 Module 选择Spring initializr创建。   二.在Type处选择: Maven Proj...

SpringBoot源码深度解析

Spring开源框架,解决企业级开发的复杂性的问题,简化开发AOP, IOCSpring 配置越来多,配置不方便管理! Javaweb---Servlet+tomcat + Struct2  SpringMVC  SPRINGboot..... 所有的技术框架:从一个复杂的场景慢慢的衍生出来一种规范!简单的配置! ==SpringBoot :自动配置!==...

Spring Boot集成MyBatis的2种方式

目录 写在前面 准备工作 配置数据库驱动 配置数据源 原生集成MyBatis 依赖配置 注册MyBatis核心组件 定义并使用映射器 通过MyBatis-Spring-Boot-Starter集成 默认配置 高级定制 总结与比较 写在前面 最近总是有同事和技术群的朋友提问在Spring Boot中使用MyBatis时遇到的问题,大多...

3.开始使用Spring Cloud实战微服务

                 开始使用Spring Cloud实战微服务 3.1. Spring Cloud实战前提               3.1.1. 需要的技术储备                   语言方面:可以使用Java、scala、Groovy...等等,推荐使用Java                   构建工具方面:Java...