Swagger

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>


<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>

使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.saxon.shiro.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.ArrayList;

@Configuration
@EnableSwagger2
public class Myswagger {
@Bean
public Docket docket () {
return new Docket (DocumentationType.SWAGGER_2)
.select ().apis (RequestHandlerSelectors.basePackage ("com.saxon.shiro.controller"))//选择扫描的包
.build ().
groupName ("saxon")//设置这个组的名字
.apiInfo (
new ApiInfo (
"saxon Documentation",//文档标题
"Api Documentation",//文档描述
"1.0",//版本号
"urn:tos",//连接
new Contact (//作者信息
"莫松",
"2433027822@qq.com",
"2433027822@qq.com"),
"Apache 2.0",
"http://www.apache.org/licenses/LICENSE-2.0",
new ArrayList ()));
}
}

多个组多个类

异步请求

使用注解的话,就是两个注解

  • @Async:声明这是一个异步方法
  • @EnableAsync:开启异步功能

使用这个注解的时候,方法的对象就不能是接口的实现类,一定要是接口,不然会报错;

邮件发送

下面的配置和我们以前再Javaweb里面的配置一样,所以我们可以明白的发现一些属性我们都可以,简单来说就是autoconfiguration里面的属性

1
2
3
4
5
6
7
8
9
mail:
username: "2433027822@qq.com"
password: "sxvwxjiohejodigg"
properties:
mail:
smtp:
ssl:
enble: true
host: "smtp.qq.com"

只需要一个start就可以运行;

简单的邮件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Autowired
JavaMailSenderImpl mailSender;

@Test
void contextLoads () {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage ();
simpleMailMessage.setText ("你好");
simpleMailMessage.setSubject ("你好");
simpleMailMessage.setTo ("2433027822@qq.com");
simpleMailMessage.setFrom ("2433027822@qq.com");
mailSender.send (simpleMailMessage);

}

复杂的邮件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@Autowired
JavaMailSenderImpl mailSender;

@Test
void contextLoads () throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage ();
//组装
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper (mimeMessage,true);//是不是多部份的邮件
mimeMessageHelper.setText ("<p style='clolr=red'>我是你爹</p>", true);//是否识别HTML代码
mimeMessageHelper.addAttachment ("1.jpg", new File ("D:\\壁纸\\b.jpg"));//attachment:附件
mimeMessageHelper.setFrom ("2433027822@qq.com");
mimeMessageHelper.setTo ("2433027822@qq.com");
mimeMessageHelper.setSubject ("复杂邮件");
mailSender.send (mimeMessage);
}

image-20201009210217432

一封复杂的邮件就应该像这个样子;需要有主题,名字,text,附件等

定时任务

使用注解:

  • @Scheduled(cron = “0/2 * * * * ?”)**,添加在方法上,由corn表达式**来进行判断执行时间,具体咋个写,不会写的时候就去百度看看
  • @EnableScheduling:添加在主函数类上