Spring incluye la anotación @async desde hace varias versiones. Con Spring Boot su uso es prácticamente inmediato:

1. En la clase que representa mi aplicación Spring Boot indico @EnableAsync

2. Añado en esa misma clase un AsyncExecutor configurado:

3. Y finalmente al método que quiero que se ejecute de forma asíncrona (sobre un hilo) le añado la anotación @Async (y opcionalmente el TaskExecutor sobre el que ejecuta):

Voilá

Leer más