配置類
@Configuration
@ComponentScan("demo")
@EnableAsync
public class Config implements AsyncConfigurer{
@Override
public Executor getAsyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(5);
executor.setMaxPoolSize(10);
executor.setQueueCapacity(26);
executor.initialize();
return executor;
}
@Override
public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
return null;
}
}
服務層
@org.springframework.stereotype.Service
public class Service {
@Async
public void task(Integer i){
System.out.println("異步"+i);
}
@Async
public void task1(Integer i){
System.out.println("2異步"+i);
}
}
測試層
public class Main {
public static void main(String[] args) {
AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(
Config.class);
Service s = annotationConfigApplicationContext.getBean(Service.class);
for (int i = 0; i < 10; i++) {
s.task(i);
s.task1(i);
}
}
}
結果
異步1
異步0
異步3
2異步0
異步4
2異步4
異步5
2異步5
異步6
2異步6
異步7
2異步7
異步8
2異步8
異步9
2異步9
2異步3
2異步2
2異步1
異步2
讀取屬性文件,配置類型安全的bean
@Component
@ConfigurationProperties(prefix="book",location={"classpath:config/book.properties"})
restful API
獲取請求路徑中?后面的參數@RequestParam("id")
獲取路徑中/1/的1 @PathVariable