springboot_08 swagger2&&quartz

配置swagger2

这是一个文档说明的小工具

首先在pom.xml中导入pom.xml的starter

<!--swagger2-->
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.9.2</version>
    </dependency>
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger-ui</artifactId>
      <version>2.9.2</version>
    </dependency>

然后创建对应的class文件

@Configuration
@EnableSwagger2
public class Swagger2 {

    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.heyongqiang.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    public ApiInfo apiInfo(){
        return new ApiInfoBuilder()
                .title("用户接口文档")
                .description("用restful风格写接口")
                .termsOfServiceUrl("")
                .version("1.0")
                .build();
    }
}

注意这里的basePackage要修改为自己对应的controller的文档包
再在对应的方法上加上注解

1. @Api

@Api(tags = “用户管理模块”)
标识这个类是要文档生成的类

2.@ApiOperation

@ApiOperation(value = “通过用户名查询用户对象”)
解释这个方法的作用

3.@ApiImplicitParam

@ApiImplicitParam(name = “userName”,value = “用户名称” , required = true , paramType = “path”)
name : 要和下面的方法名保持一致不然就不会生成
value : 解释
required 是不是必须传递字段
paramType: 请求路径
在这里插入图片描述

4.

在这里插入图片描述

5.@ApiModel

@ApiModel(value = “用户实体类”)
放在响应的实体类上的

6.@ApiModelProperty

@ApiModelProperty(value = “用户名字”)
声明这个属性字段的意思

然后启动项目
访问以下路径就可以使用文档了

tips:
可以使用这个来发送请求并且这个也会返回参数

quartz

也是先导入pom坐标
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>

创建配置类

import com.heyongqiang.jobs.MyfirstJob;
import org.quartz.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.annotation.Resource;

/**
 * 构建配置类
 */
@Configuration
public class QuartzConfig {
    @Bean
    public JobDetail jobDetail01(){
        return JobBuilder.newJob(MyfirstJob.class).storeDurably().build();
    }


    @Bean
    public Trigger trigger01(){

        //每隔5秒执行一次
        CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule("0/5 * * * * ?");

        //创建触发器
        Trigger trigger = TriggerBuilder.newTrigger()
                .withIdentity("syncUserJobTrigger","group")//给Trigger起个名字
                .withSchedule(cronScheduleBuilder)
                .forJob(jobDetail01())//关联上述的JobDetail
                .build();
        return trigger;
    }
}

然后实现job具体的实现类和方法

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

public class MyfirstJob implements Job {
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        String printTime = new SimpleDateFormat("yy-MM-dd HH-mm-ss").format(new Date());
        System.out.println("PrintWordsJob start at:" + printTime + ", prints: Hello Job-" + new Random().nextInt(100));
    }

}

需要集成实现接口 并且重写execute方法
具体的工作可以写在方法里
触发的时间间隔可以通过修改配置类的cron表达式来修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值