springboot整合Quarz和swagger2
1、整合swagger2使用步骤
1、1 maven引入依赖
<!--swagger-->
<dependency>
<groupId>com.spring4all</groupId>
<artifactId>swagger-spring-boot-starter</artifactId>
<version>1.9.1.RELEASE</version>
</dependency>
<!--好看的ui-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>
1、2 创建swagger2的配置类
@Configuration
public class SwaggerConfig {
//获取Swagger2的实例对象Docket
@Bean
public Docket getDocket(){
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.groupName("335")
.apiInfo(apiInfo())
.select()
//设置哪些包下的类生产api接口文档
.apis(RequestHandlerSelectors.basePackage("com.yy.controlller"))
//设置哪些请求路径生产接口文档
.paths(PathSelectors.any())
.build()
;
return docket;
}
private ApiInfo apiInfo(){
Contact DEFAULT_CONTACT = new Contact("123", "http://www.jd.com", "2300316070@qq.com");
ApiInfo apiInfo=new ApiInfo("员工管理系统api接口", "员工管理系统api接口", "2.0", "http://www.baidu.com",
DEFAULT_CONTACT, "Apache 2.0", "http://www.apache.org/licenses/LICENSE-2.0", new ArrayList<VendorExtension>());
return apiInfo;
}
}
1、3 开启swagger2的注解
@SpringBootApplication
@MapperScan(basePackages = {"com.yy.dao"}) //为dao的接口生产实现类
@EnableSwagger2//开启swagger2的注解。
public class Springboot03Application {
public static void main(String[] args) {
SpringApplication.run(Springboot03Application.class, args);
}
}
1、4启动项目和访问
测试网址:http://IP:PORT/swagger-ui.html
1、5swagger常见注解
swagger2使用说明:
@Api:用在类上,说明该类的作用
@ApiOperation:用在方法上,说明方法的作用
@ApiImplicitParams:用在方法上包含一组参数说明
@ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
paramType:参数放在哪个地方
header-->请求参数的获取:@RequestHeader
query-->请求参数的获取:@RequestParam
path(用于restful接口)-->请求参数的获取:@PathVariable
body(不常用)
form(不常用)
name:参数名
dataType:参数类型
required:参数是否必须传
value:参数的意思
defaultValue:参数的默认值
@ApiModel:描述一个Model的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)
@ApiModelProperty:描述一个model的属性
2、整合Quarz任务
2、1 在线解析定时
2、2添加相关依赖
<!--定时任务的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
2、3创建定时任务类
@Component
public class OrderQuarz {
@Scheduled(cron="0/1 * * * * ?")
public void orderCheck(){
//select * from order where now()-createdate>=30
//取消该订单。
System.out.println("~~~~~~~~查看所有的订单是否有为支付的。~~~~~~~~~~~~~");
}
}
2、4主启动类上开启定时任务的注解
@SpringBootApplication
@EnableScheduling //开启Quarz注解的驱动
public class SpringbootQuarzApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootQuarzApplication.class, args);
}
}