31、springboot与任务
异步任务
@Service
public class AsynService { public void hello(){
try {
Thread.sleep();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("处理数据.....");
}
}
controller类:
@Controller
public class AsynController { @Autowired
AsynService asynService; @ResponseBody
@RequestMapping("/hello")
public String hello(){
asynService.hello();
return "success";
}
}

此时会有三秒的等待响应时间!!!!
但是如果工程量大的话,这样会比较麻烦
@Service
public class AsynService { //告诉spring这是一个异步的方法
@Async
public void hello(){
try {
Thread.sleep();
} catch (InterruptedException e) {
e.printStackTrace();
} System.out.println("处理数据.....");
}
}
开启方法:
@EnableAsync
@SpringBootApplication
public class TaskApplication { public static void main(String[] args) {
SpringApplication.run(TaskApplication.class, args);
} }

定时任务


定时做打印操作:
@Service
public class ScheduleService { //cron:second、minute、hour、day of mounth、day of week
@Scheduled(cron ="0 * * * * MON-SAT" )
public void hello(){
System.out.println("定时处理");
} }
开启注解:
//开启定时任务
@EnableScheduling
@SpringBootApplication
public class TaskApplication {
public static void main(String[] args) {
SpringApplication.run(TaskApplication.class, args);
}
}

在任意分钟的0-10s进行打印
@Scheduled(cron = "0-10 * * * * 0-7")
public void hello(){
System.out.println("定时处理");
}


邮件任务


aaarticlea/png;base64,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" alt="" />
@ConfigurationProperties(
prefix = "spring.mail"
)
public class MailProperties {
private static final Charset DEFAULT_CHARSET;
private String host;
private Integer port;
private String username;
private String password;
private String protocol = "smtp";
private Charset defaultEncoding;
private Map<String, String> properties;
private String jndiName;
...
}

配置文件:
spring.mail.username=@qq.com
#授权码
spring.mail.password=keoszgbsssddbaad
spring.mail.host=smtp.qq.com
spring.mail.properties.mail.smtp.ssl.enable=true

host:

简单邮件
@Autowired
JavaMailSenderImpl javaMailSender; @Test
public void contextLoads() {
SimpleMailMessage msg = new SimpleMailMessage();
//邮件设置
msg.setSubject("猪头");
msg.setText("你就是猪头哦!!");
msg.setTo("xxxxxxxxx@qq.com");
msg.setFrom("12872213xx@qq.com"); javaMailSender.send(msg);
}
复杂的邮件测试:
@Test
public void test1() throws MessagingException {
//创建复杂邮件
MimeMessage msg = javaMailSender.createMimeMessage();
//上传文件
MimeMessageHelper helper = new MimeMessageHelper(msg,true); //邮件设置
helper.setSubject("pig"); helper.setText("<b style='color:red'>pig..... </b>",true);
helper.setTo("3212393029@qq.com");
helper.setFrom("12872213xx@qq.com"); //上传文件
helper.addAttachment("319898.jpg",new File("D:\\Tools\\319898.jpg")); javaMailSender.send(msg);
}
html的设置等都可以显示,图片的上传!!!
31、springboot与任务的更多相关文章
- 第3章 springboot接口返回json 3-1 SpringBoot构造并返回一个json对象
数据的使用主要还是以JSON为主,我们不会去使用XML. 这个时候我们先不使用@RestController,我们使用之前SpringMVC的那种方式,就是@Controller. @Respons ...
- 千锋很火的SpringBoot实战开发教程视频
springboot是什么? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员 ...
- 微服务springboot视频最新SpringBoot2.0.3版本技术视频教程【免费学习】
超火爆的springboot微服务技术怎么学,看这里,springboot超详细的教程↓↓↓↓↓↓https://ke.qq.com/course/179440?tuin=9b386640 01.sp ...
- jquery-bootgrid
http://www.jquery-bootgrid.com/GettingStarted 日志是生产环境非常重要的配置,在迁移老的工程到spring-boot时日志的设置兼容很重要,以下是自己在配置 ...
- 每天学会一点点(JAVA基础)
1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”? 虚拟机是一个可以执行Java字节码的虚拟机进程.Java源文件被编译成能被Java虚拟机执行的字节码文件. Java被设计成允 ...
- 城市代码表mysql
只有代码: # ************************************************************ # Sequel Pro SQL dump # Version ...
- 「小程序JAVA实战」springboot的后台搭建(31)
转自:https://idig8.com/2018/08/29/xiaochengxujavashizhanspringbootdehoutaidajian31/ 根据下面的图,我们来建立下对应的sp ...
- SpringBoot IntelliJ创建简单的Restful接口
使用SpringBoot快速建服务,和NodeJS使用express几乎一模一样,主要分为以下: 1.添加和安装依赖 2.添加路由(即接口) 3.对路由事件进行处理 同样坑的地方就是,祖国的防火墙太 ...
- springboot+druid
最近项目需要搭建新工程,打算使用微服务的形式搭建便于后期拓展.看了一圈发现springboot易于搭建,配置简单,强化注解功能,"just run". Spring Boot ma ...
随机推荐
- Cheatsheet: 2018 08.01 ~ 2018 10.31
Other Building the Ultimate Developer PC 3.0 - The Parts List for my new computer, IronHeart Face re ...
- Java基础教程(6)--数组
1.基本概念 数组中的每一项称为元素,每个元素都通过数字索引(也可以称为下标)访问,编号从0开始.例如,第4个元素的索引为3.下面的程序创建了一个int类型的数组,把一些值放入数组中并将每个值打印 ...
- java核心技术-IO
一 .IO 1.1 流的简单介绍和分类 Java流操作的相关的类和接口: Java流类图结构: 四个抽象基类分别为:InputStream .OutputStream .Reader .Writer: ...
- php BC 高精确度函数库
bcadd: 将二个高精确度数字相加. bccomp: 比较二个高精确度数字. bcdiv: 将二个高精确度数字相除. bcmod: 取得高精确度数字的余数. bcmul: 将二个高精确度数字相乘. ...
- maven 程序包com.sun.image.codec.jpeg
在 Pom.xml 增加 <build> <plugins> <plugin> <artifactId>maven-compiler-plugin< ...
- 洛谷 P2469 [SDOI2010]星际竞速 解题报告
题目描述 10年一度的银河系赛车大赛又要开始了.作为全银河最盛大的活动之一,夺得这个项目的冠军无疑是很多人的梦想,来自杰森座α星的悠悠也是其中之一. 赛车大赛的赛场由N颗行星和M条双向星际航路构成,其 ...
- Web开发须知的浏览器内幕 缓存与存储篇(2)
本文禁止转载,由UC浏览器内部出品. 3. HTTP Cache 综述 HTTP Cache是完全按照IETF规范实现的,最新的RFC规范地址是 https://tools.ietf.org/html ...
- LeetCode赛题390----Elimination Game
# 390. Elimination Game There is a list of sorted integers from 1 to n. Starting from left to right, ...
- git 打包报错:Maven Build时提示:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
1.使用git 升级 服务命令 mvn deploy -e 之后报错: Failed to execute goal org.apache.maven.plugins:maven-surefire- ...
- js构建类的方法
Javascript是一种基于对象的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有Class.(不过,ES6引入了Class这个概念,作为对 ...