title: @Async in Spring doesn't work in Service class?
body: <p><code>@Async</code> method in <code>@Service</code> annotated class in standalone Spring Boot application doesn't run asynchronously. What am I doing wrong?</p>
  
  <p>When I run the same method directly from main class (<code>@SpringBootApplication</code> annotated), it works. Example:</p>
  
  <p><strong>Main class</strong></p>
  
  <pre><code>@SpringBootApplication
  @EnableAsync
  public class Application implements CommandLineRunner {
  
      @Override
      public void run(String... args) throws Exception {
          // here when I call downloadAnSave() it runs asynchronously...
          // but when I call downloadAnSave() via downloadAllImages() it does not run asynchronously...
      }
  
  }
  </code></pre>
  
  <p>and my <strong>service class</strong> (and here asynchronous behavior doesn't work):</p>
  
  <pre><code>@EnableAsync
  @Service
  public class ImageProcessorService implements IIMageProcessorService {
  
      public void downloadAllImages(Run lastRun) {
          // this method calls downloadAnSave() in loop and should run asynchronously....
      }
  
      @Async
      @Override
      public boolean downloadAnSave(String productId, String imageUrl) {
          //
      }
  
  }
  </code></pre>