>Java >java지도 시간 >springboot에서 비동기 작업을 구현하는 방법

springboot에서 비동기 작업을 구현하는 방법

WBOY
WBOY앞으로
2023-05-14 15:07:061535검색

Spring Boot 소개

Spring Boot는 Pivotal 팀에서 제공하는 새로운 프레임워크로, 새로운 Spring 애플리케이션의 초기 구성 및 개발 프로세스를 단순화하도록 설계되었습니다. 프레임워크는 구성에 대한 임시 접근 방식을 사용하므로 개발자가 상용구 구성을 정의할 필요가 없습니다. 내 말을 이해하자면, Spring Boot는 실제로 새로운 프레임워크가 아닙니다. Maven이 모든 Jar 패키지를 통합하고 Spring Boot가 모든 프레임워크를 통합하는 것처럼 기본적으로 많은 프레임워크의 사용을 구성합니다.

Spring 부팅 기능

1) 독립적인 Spring 애플리케이션 생성

2) WAR 파일을 배포하지 않고 Tomcat, Jetty 또는 Undertow를 직접 포함

3) Apache Maven 구성을 단순화하기 위해 권장되는 기본 POM 파일(스타터) 제공; 4) 가능한 한 프로젝트 종속성에 따라 Spring 프레임워크를 자동 구성합니다.

5) 성능 지표, 애플리케이션 정보, 애플리케이션 상태 확인 등 프로덕션 환경에서 직접 사용할 수 있는 기능을 제공합니다.

6) Unboxing Ready; 사용하려면 코드 생성이 필요 없고 XML을 너무 많이 구성할 필요도 없습니다. 특정 요구 사항에 맞게 기본값을 수정할 수도 있습니다.

7) Spring Cloud와 같은 수많은 다른 프로젝트가 Spring Boot를 기반으로 합니다.

비동기 작업

예:

서비스에 hello 메소드를 작성하고 3초 동안 지연합니다.

@Service
public class AsyncService {
    public void hello(){
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("数据正在处理!");
    }
}

컨트롤러가 이 비즈니스를 호출하도록 합니다.

@RestController
public class AsyncController {
    @Autowired
    AsyncService asyncService;
    @GetMapping("/hello")
    public String hello(){
        asyncService.hello();
        return "ok";
    }
}

SpringBoot 프로젝트를 시작하면 응답이 괜찮을 것입니다. 3초 후에.

따라서 이 문제를 해결하려면 비동기 작업을 사용해야 합니다. 주석을 추가하는 것은 매우 간단합니다.

hello 메소드에 @Async 주석 달기

@Service
public class AsyncService {
    //异步任务
    @Async
    public void hello(){
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("数据正在处理!");
    }
}

SpringBoot 시작 클래스에서 비동기 주석 기능 활성화하기

@SpringBootApplication
//开启了异步注解的功能
@EnableAsync
public class Sprintboot09TestApplication {

    public static void main(String[] args) {
        SpringApplication.run(Sprintboot09TestApplication.class, args);
    }

}

문제가 해결되어 서버가 프런트엔드 데이터에 즉시 응답합니다!

나무는 높은 곳의 빛을 갈망할수록 뿌리는 아래로, 땅을 향해, 어둠의 깊은 곳으로 뻗어나갈 것입니다.

위 내용은 springboot에서 비동기 작업을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제