搭建基于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. C#自动化IO/XML作业

    PS:这是我们公司自动化测试留的一个作业,虽然我不是自动化的,但是也做了一下. Friday, November 28, 2014 ​这个也是我根据自动化部门的那次作业自己分析写的,没有写打log的过 ...

  2. MUI 页面传值 webview

    我们假设a.html 和b.html a.html 页面代码 <!DOCTYPE html> <html> <head> <meta charset=&quo ...

  3. [bzoj1051] [HAOI2006]受欢迎的牛 (Tarjan+缩点)

    强连通图,缩点 Description 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎. 这 种关系是具有传递性的,如果A认为B受欢迎,B认为C受 ...

  4. 友情提醒:欲开发android5.0以上应用,请全部更新开发工具至最新

    周末帮人完成一个项目,android5.0以上版本,谁知道被开发工具折腾的死去活来.我的开发环境是adt-bundle-windows-x86-20140702.zip版本,也是目前能找到的adt-b ...

  5. node-webkit中使用sqlite3(MAC平台)

    前言 最近使用node-webkit开发一款博客发布软件,来替换难用的Windows Live Writer(主要是对Markdown标签的支持很差劲).为了解决博文信息临时保存的问题,想到了使用sq ...

  6. Spring MVC无法获取ajax POST的参数和值

    一.怎么会这个样子 很简单的一个想法,ajax以POST的方式提交一个表单,Spring MVC解析.然而一次次的打印null折磨了我整整一天…… 最后的解决现在看来是很明显的问题,“只是当时已惘然” ...

  7. Beaglebone Black - 控制 BBB 板上的 LED 灯

    BBB 的板上有五个 LED 灯,一个电源,四个其他指示灯,usr0 至 usr3 .这次学习是控制 usr0 至 3 让它们亮着,熄灭,闪.算是个 Hello World 实验.非常简单. 需要的材 ...

  8. HTTP Status 404–/webDemo/hello

    现在用一排很小的字写出来,我真是个大傻逼

  9. 使用ansible批量管理远程服务器

    使用ansible批量管理远程服务器 背景 本地需要管理远程的一批服务器,主要执行以下任务: 1) 将本地的文件复制到远端所有服务器: 2) 需要在远程服务器中执行一个个命令: 远端服务器路径并非完全 ...

  10. python_way ,day11 进程

    if __name__ == '__main__': for i in range(10): p = Process(target=foo, args=(i,)) # p.daemon = True ...