一、新建配置類
@configuration
@enableasync
public class threadpooltaskconfig
}
二、建立方法類
@service
public class taskservice
}
三、啟動類新增註解
@componentscan("com.example")
@enableasync
public static void main(string args) }
四、建立測試類
@runwith(springrunner.class)
@springboottest
@autowired
taskservice taskservice;
@test
public void test() throws interruptedexception
system.out.println("結束");
thread.sleep(10000);
}}
注意事項:
如下方式會使@async失效
一、非同步方法使用static修飾
二、非同步類沒有使用@component註解(或其他註解)導致spring無法掃瞄到非同步類
三、非同步方法不能與被呼叫的非同步方法在同乙個類中
四、類中需要使用@autowired或@resource等註解自動注入,不能自己手動new物件
五、如果使用springboot框架必須在啟動類中增加@enableasync註解
Spring非同步方法註解 Async
spring 配置檔案增加以下配置 注意點 在同乙個類中 乙個方法呼叫另外乙個有註解 比如 async,transational 的方法,註解是不會生效的。在呼叫 async方法的類後面新增註解 enableasync 在被呼叫的方法增加 async註解 呼叫和被呼叫,不能在乙個類裡面定義,要分開定...
spring註解之 Async小測試
這個註解看著async應該可以猜測用途,那就是非同步。這個註解是用來將某個被標註的方法給弄成非同步的效果,達到new thread的作用,博主也趕緊拿來了 測試。非同步我最先是在js學習時,ajax提交那裡第一次接觸,有乙個async屬性,來設定這個ajax是非同步還是同步。如下偽 所示 funct...
Spring中 Async註解實現非同步
簡單介紹 spring為任務排程與非同步方法執行提供了註解支援。通過在方法上設定 async註解,可使得方法被非同步呼叫。也就是說呼叫者會在呼叫時立即返回,而被呼叫方法的實際執行是交給spring的taskexecutor來完成。async註解的開啟 如果是在springboot專案中使用的話,則更...