SpringBoot异步执行
前言(异步执行的引入)
案例github地址(如果有用点个star呗) https://github.com/chenxiban/SpringBoot-Asyn.git
异步执行步骤
SpringBoot框架对异步处理提供了很好的支持,我们只需要以下两步就可以完成操作。
- 给需要异步执行的方法加上 @Async 注解
- 在启动类或者配置类加上 @EnableAsync 注解(启动异步执行)
案例
新建一个类,模拟一个需要异步执行的方法,代码如下:
package org.spring.springboot.task;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
@Component
public class MyTask {
// @Async
public String say666() {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("say666执行了,111111");
return "say666";
}
}
新建一个控制器,模拟请求,响应的流程,代码如下:
package org.spring.springboot.web;
import org.spring.springboot.task.MyTask;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Spring Boot HelloWorld 案例
*
* Created by bysocket on 16/4/26.
*/
@RestController
public class HelloWorldController {
@Autowired
private MyTask task;
/**
* http://localhost:8080
*
* @return
*/
@GetMapping("/")
public String sayHello() {
// String str = task.say666();
// System.out.println("str=>"+str);
System.out.println("say666执行了,222222");
return "222欢迎进入SpringBoot世界!666";
}
}
在启动类上添加 @EnableAsync 注解 ,代码如下:
package org.spring.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableAsync;
/**
* Spring Boot 应用启动类
*/
// Spring Boot 应用的标识
@EnableAsync
@SpringBootApplication
public class Application {
public static void main(String[] args) {
// 程序启动入口
// 启动嵌入式的 Tomcat 并初始化 Spring 环境及其各 Spring 组件
SpringApplication.run(Application.class, args);
}
}
启动测试一下,就交给你自己了
最后
-
更多参考精彩博文请看这里:《陈永佳的博客》
-
喜欢博主的小伙伴可以加个关注、点个赞哦,持续更新嘿嘿!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/97626.html