@Async
2023. 2. 24. 16:11ㆍ@Annotaion Book
@Async는 Spring Framework에서 비동기적인 메서드 호출을 가능하게 하는 어노테이션 중 하나입니다.
@Async 어노테이션을 사용하면, 메서드 호출 시 Spring은 별도의 스레드를 생성하여 해당 메서드를 비동기적으로 실행합니다. 이를 통해, 요청-응답 시간을 단축하거나, 복잡한 처리 작업을 비동기적으로 처리할 수 있습니다.
@Async 어노테이션을 사용하기 위해서는 다음과 같은 조건을 만족해야 합니다.
- @EnableAsync 어노테이션이 지정된 클래스가 존재해야 합니다.
- 비동기적으로 실행될 메서드는 public 메서드로 지정되어야 합니다.
- 메서드는 void 또는 Future를 반환해야 합니다.
아래는 @Async 어노테이션을 사용하여 비동기적으로 메서드를 실행하는 예시 코드입니다.
@Service
public class UserServiceImpl implements UserService {
@Async
@Override
public void sendEmail(User user, String content) {
// Send email
}
}
위 코드에서는 @Async 어노테이션을 사용하여 sendEmail() 메서드를 비동기적으로 실행하고 있습니다. 이제 sendEmail() 메서드가 호출되면, Spring은 별도의 스레드에서 해당 메서드를 실행합니다.
@Async 어노테이션을 사용하여 메서드를 비동기적으로 실행할 때는, 메서드 호출이 끝나지 않은 상태에서 다음 코드가 실행될 수 있으므로, 이에 대한 처리가 필요합니다. 예를 들어, Future를 반환하여 비동기 작업의 결과를 받아오는 방법 등을 사용할 수 있습니다.
'@Annotaion Book' 카테고리의 다른 글
@ExceptionHandler (0) | 2023.02.24 |
---|---|
@Scheduled (0) | 2023.02.24 |
@RequestParam (0) | 2023.02.24 |
@Value (0) | 2023.02.24 |
@Bean (0) | 2023.02.24 |