Spring 接口方法异步调用

对外开放的接口,在被外部调用时,需要校验接收到的数据,校验通过后才能开始进行数据处理,处理完成后向特定地址返回结果。

校验通过后即返回接口调用的响应信息,就涉及到方法的异步调用。在 Spring 框架下,添加@Async注解到对应的方法上即可实现。

详细配置如下:

  1. 添加applicationContext.xml配置
<beans xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLoacation="http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd">
	<context:component-scan />
	<task:annotation-driven />
</beans>
  1. 异步方法上添加注解
@RunWith(SpringJunit4ClassRunner.class)
@ContextConfiguration({
          
   "classpath:/applicationContext.xml"})
public class MethodAsyncTest{
          
   
	@Autowired
	MethodAsync methodAsync;

	@Test
	public void asyncTest() {
          
   
		System.out.println(MethodAsync.methodOne());
		System.out.println(MethodAsync.methodTwo());
		System.out.println(MethodAsync.methodThree());
	}
}
@Service
public class MethodAsync {
          
   

	public static String methodOne(){
          
   
		System.out.println("Method one.");
	}

	@Async
	public static String methodTwo(){
          
   
		try {
          
   
			Thread.sleep(10000);
		} catch (Exception e) {
          
   
			e.printStackTrace();
		}
		System.out.println("Method two.");
	}

	public static String methodThree(){
          
   
		System.out.println("Method three.");
	}
}

运行结果:

Method one.
Method three.
Method two.
经验分享 程序员 微信小程序 职场和发展