zoukankan      html  css  js  c++  java
  • Building a RESTful Web Service Using Spring Boot In Eclipse

    一、构建restful web service

    创建Maven的java web工程,maven的pom文件加入依赖包

    创建包hello

    Greeting.java

    package hello;
    
    public class Greeting {
    
        private final long id;
        private final String content;
        
        public Greeting(long id, String content) {
            this.id = id;
            this.content = content;
        }
        
        public long getId() {
            return id;
        }
        public String getContent() {
            return content;
        }
    }

    创建Controller

    package hello;
    
    import java.util.concurrent.atomic.AtomicLong;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @Controller
    public class GreetingController {
    
        private static final String TEMPLATE = "Hello, %s!";
        private final AtomicLong counter = new AtomicLong();
        
        @RequestMapping("/greeting")
        public @ResponseBody Greeting greeting(
                @RequestParam(value = "name", required = false, defaultValue = "World") String name) {
            return new Greeting(counter.incrementAndGet(), String.format(TEMPLATE, name));
        }
    }

    说明:

    @RequestMapping默认接受GET、POST、PUT等所有方法

    @RequestBody 表示直接以HTTP Response Body返回,而不是转到View试图层渲染后再返回,这也是Spring MVC 和 Restful web service的最大区别

    创建执行器

    package hello;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
    import org.springframework.context.annotation.ComponentScan;
    
    @ComponentScan
    @EnableAutoConfiguration
    public class Application {
    
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }

    以Spring boot app方式执行,这样就不需要部署到服务器里面了,加快开发效率

    访问地址:

    http://localhost:8080/greeting?name=loull

    页面显示:

    {
    
        "id": 4,
        "content": "Hello, loull!"
    
    }

    pom.xml

    <?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://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>org.springframework</groupId>
        <artifactId>gs-rest-service</artifactId>
        <version>0.1.0</version>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>0.5.0.M6</version>
        </parent>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>2.3.2</version>
                </plugin>
            </plugins>
        </build>
    
        <repositories>
            <repository>
                <id>spring-snapshots</id>
                <url>http://repo.spring.io/libs-snapshot</url>
                <snapshots><enabled>true</enabled></snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>spring-snapshots</id>
                <url>http://repo.spring.io/libs-snapshot</url>
                <snapshots><enabled>true</enabled></snapshots>
            </pluginRepository>
        </pluginRepositories>
    </project>

    二、spring boot介绍

     Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务。你可通过它来选择不同的 Spring 平台。可创建独立的 Java 应用和 Web 应用,同时提供了命令行工具来允许 'spring scripts'.

    下图显示 Spring Boot 在 Spring 生态中的位置:

    Spring Boot in Context

    Spring Boot是Spring社区较新的一个项目。该项目的目的是帮助开发者更容易的创建基于Spring的应用程序和服务,让更多人的人更快的对Spring 进行入门体验,让Java开发也能够实现Ruby on Rails那样的生产效率。为Spring生态系统提供了一种固定的、约定优于配置风格的框架。

    Spring Boot具有如下特性:

    • 为基于Spring的开发提供更快的入门体验
    • 开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值来满足特定的需求。
    • 提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。
    • Spring Boot并不是不对Spring功能上的增强,而是提供了一种快速使用Spring的方式。

    Spring Boot CLI是一个命令行工具。使用这个命令行工具可以运行Spring脚本。那么什么是Spring脚本呢?Spring脚本使用Groovy编写的脚本代 码。编写好Spring脚本之后,使用Spring Boot CLI就可以在命令行下运行。是不是很酷?

    参考:

    http://spring.io/guides/gs/rest-service/

    Spring Boot

    http://rockingware.com/2013/12/touch-spring-boot.html

  • 相关阅读:
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 伍
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 伍
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 伍
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 伍
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 伍
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 伍
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 肆
    [转译][马基 杰斯特(MarkeyJester) 摩托罗拉68000 入门教程] 肆
    针对Oracle用户被锁的一些相关处理方法
    Oracle约束、索引
  • 原文地址:https://www.cnblogs.com/549294286/p/3524064.html
Copyright © 2011-2022 走看看