搭建基于gradle的sprint boot项目,swagger-ui辅助

spring boot官网:http://projects.spring.io/spring-boot/
get start :https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#getting-started

需要的环境:
jdk1.6以上  http://www.oracle.com/technetwork/java/javase/downloads/index.html
gradle      https://gradle.org/gradle-download/

开始:

建一个java项目TestSprint
建两个包src/main/java和src/main/resources,一个build.gradle文件

$ cd TestSpring
$ mkdir -p src/main/java
$ mkdir -p src/main/resources
$ touch build.gradle

程序需要一个启动方法也就是main方法,在src/main/java包或者其他在这个包下的其他包建一个java类,建一个main方法

public class SpringBoot {

    public static void main(String[] args) {

    }
}

修改build.gradle文件

buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.7.RELEASE")
classpath("org.springframework:springloaded:1.2.0.RELEASE")
}
} apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'spring-boot' jar {
baseName = 'fzk'
version = '0.0.1'
} repositories {
mavenLocal()
mavenCentral()
} sourceCompatibility = 1.8
targetCompatibility = 1.8 dependencies {
compile("org.springframework.boot:spring-boot-starter-web")
compile("io.springfox:springfox-swagger2:2.2.2")
compile 'io.springfox:springfox-swagger-ui:2.2.2'
}

buildscript块是自身所需要的一些依赖。apply plugin是gradle的插件。jar是打出来到jar包的命名。repositories是依赖所需要的jar下载下来后存放的位置。dependencies是项目所需要的依赖。这里要整合swagger-ui,又加了下面两个依赖。
执行
  gradle build
  gradle eclipse
把需要的jar下载下来,导进项目里。

在src/main/resources里创建配置文件application.properties

server.port:8888

这里现在什么都没有,以后有什么配置文件可以往这里添加。server.port是spring一个提供好设置端口的属性,这样设置完,项目启动时会跑在8888端口。

修改启动类,SprintBoot类

@SpringBootApplication
@EnableSwagger2
@ComponentScan({"cn.com.fzk.controller"})
public class SpringBoot { public static void main(String[] args) {
SpringApplication app = new SpringApplication(SpringBoot.class);
app.run(args); } @Bean
public Docket testApi() {
return new Docket(DocumentationType.SWAGGER_2).groupName("测试")
.apiInfo(new ApiInfoBuilder().title("测试").description("fzk").build()).select()
.paths(PathSelectors.regex("/test.*")).build();
}
}

@SpringBootApplication是@Configuration@EnableAutoConfiguration 和 @ComponentScan三个联合起来的一个注解。@Configuration说明这是一个配置类,@EnableAutoConfiguration允许自动配置,@ComponentScan扫描。
@EnableSwagger2  这个是swagger的一个注解。
@ComponentScan({"cn.com.fzk.controller"})   自动扫描那个包下的所有bean

testApi()这个方法产生了一个Docket类型的bean,这个bean设置了一些需要显示的东西。如果还有其他的分组,创建不同的bean就可以。(swagger-ui 对于生成的api测试还是非常好用的。如果对于配置还有别的需求,swagger-ui github地址:https://github.com/swagger-api/swagger-ui)

上面建好了一个分组,下面写这个分组里面的,建一个controller包(包名随便),建一个Controller

@RestController
@RequestMapping(value = "/test", headers = "Accept=application/json", produces = "application/json")
public class TestController { @RequestMapping(value = "", method = RequestMethod.GET)
public String test() { return "success";
}
}

@RestController是@Controller 和 @ResponseBody的结合,@RequestMapping设置路径,头部信息和生成什么样的格式。

项目建成。
启动方法:点击run-->run configuration-->在main type那栏找到自己的带main方法的那个类就是SprintBoot类。然后就可以跑起来了。
打开浏览器输入http://localhost:8888/swagger-ui.html  就能看到swagger-ui界面了上面是自己写的api。
还有一点不好的就是每次必须都输入http://localhost:8888/swagger-ui.html  才能进入页面。可以通过修改代码在输入http://localhost:8888 就能重定向到swagger页面。
在controller中在建一个类,名字任意。这里是HomeController

@Controller
public class HomeController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home() {
return "redirect:swagger-ui.html";
}
}

这样,每次只需要输入网址和端口号就可以了。

基于gralde搭建spring boot项目的更多相关文章

  1. 基于 intellij IDEA 快速搭建Spring Boot项目

           在<一步步搭建 Spring Boot maven 框架的工程>一文中,已经介绍了如何使用Eclipse快速搭建Spring Boot项目.由于最近将开发工具由Eclipse ...

  2. Spring Boot入门(一):搭建Spring Boot项目

    从本篇博客开始,我们开始进入Spring Boot的世界,它的出现使Spring的开发变得更加简洁,因此一经推出受到众多程序员的喜爱. 作为Spring Boot系列的第一篇博客,我们先来讲解下如何搭 ...

  3. Spring Boot系列学习文章(一) -- Intellij IDEA 搭建Spring Boot项目

    前言: 最近做的一个项目是用Spring Boot来做的,所以把工作中遇到的一些知识点.问题点整理一下,做成一系列学习文章,供后续学习Spring Boot的同仁们参考,我也是第一次接触Spring ...

  4. Myeclipse下使用Maven搭建spring boot项目

    开发环境:Myeclipse2017.JDK1.6.Tomcat 8.0.Myeclipse下使用Maven搭建spring boot项目,详细过程如下: 1. New -> Project.. ...

  5. 使用IDEA,Eclispe搭建Spring Boot项目

    如何创建一个Spring Boot项目?这里使用maven来进行依赖管理,根据常用的IDE,可以使用IDEA.Eclipse.或者访问官方网站搭建. 项目搭建环境准备 JDK:1.8 MAVEN:3. ...

  6. Spring boot入门(一):快速搭建Spring boot项目

    (一)Spring boot介绍 本部分摘自:https://www.zhihu.com/question/64671972/answer/223383505 Spring Boot是由Pivotal ...

  7. 构建微服务:快速搭建Spring Boot项目

    Spring Boot简介: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员 ...

  8. Myeclipse下使用Maven搭建spring boot项目(第二篇)

    现在需要搭建spring boot框架,并实现一个HelloWorld的项目,让程序真正运行起来. 一.在pom.xml中引入spring-boot-start-parent,spring官方的叫st ...

  9. 快速搭建Spring Boot项目

    Spring boot是Spring推出的一个轻量化web框架,主要解决了Spring对于小型项目饱受诟病的配置和开发速度问题. Spring Boot 包含的特性如下: 创建可以独立运行的 Spri ...

随机推荐

  1. 华东交通大学2016年ACM“双基”程序设计竞赛 1003

    Problem Description 风雨漂泊异乡路, 浮萍凄清落叶飞. 游子寻根满愁绪,一朝故土热泪归.Hey ecjtuer! 刚刚学习了二叉树的知识,现在来考察一下..给你一个深度为h的满二叉 ...

  2. CSS3那些不为人知的高级属性

    尽管现代浏览器已经支持了众多的CSS3属性,但是大部分设计师和开发人员貌似依然在关注于一些很“主流”的属性,如border-radius.box-shadow或者transform等.它们有良好的文档 ...

  3. 免费PHP WEB环境套件介绍

    PHPNOW--Apache + PHP + MySQL(windows) easyphp--Apache + PHP + MySQL+phpmyadmin(windows) xampp(中文站点)- ...

  4. ContentProvider官方教程(9)定义一个provider完整示例:实现方法,定义权限等

    Creating a Content Provider In this document Designing Data Storage Designing Content URIs Implement ...

  5. Hibernate体系结构的简单介绍

    Hibernate体系结构的简单介绍 1.SessionFactory: 单个数据库映射关系经过编译后的内存镜像,是线程安全的.它是生产Session的工厂,本身需要依赖于ConnectionPeov ...

  6. IOS Bug分析

    异常代码是SIGABRT.通常,  SIGABRT 异常是由于某个对象接收到未实现的消息引起的. 或者,用简单的话说,在某个对象上调用了不存在的方法. iOS应用崩溃日志分析 分析iOS Crash文 ...

  7. Linux 上网络监控工具 ntopng 的安装

    当今世界,人们的计算机都相互连接,互联互通.小到你的家庭局域网(LAN),大到最大的一个被我们称为互联网.当你管理一台联网的计算机时,你就是在管理最关键的组件之一.由于大多数开发出的应用程序都基于网络 ...

  8. linux下导入、导出mysql数据库命令

    一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql #/usr ...

  9. MyBatis Mapper 接口如何通过JDK动态代理来包装SqlSession 源码分析

    我们以往使用ibatis或者mybatis 都是以这种方式调用XML当中定义的CRUD标签来执行SQL 比如这样 <?xml version="1.0" encoding=& ...

  10. form 登陆跳转页面练习(未连接数据库)和连接数据库版

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...