Spring Boot 프로젝트 의 자동 실행 방법 을 시작 하 는 두 가지 실현 방식
springboot 프로젝트 가 시 작 된 후 시스템 상수,설정,코드 집합 등 초기 화 작업 을 수행 합 니 다.여러 방법 을 실행 할 때 실행 순 서 는 Order 주해 나 Order 인 터 페 이 스 를 사용 하여 제어 합 니 다.
Springboot 는 저희 에 게 두 가지 방식 을 제공 해 주 었 습 니 다.
첫 번 째 응용 프로그램 러 너 인터페이스 실현
package org.mundo.demo.core;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
@Component
@Order(2)
public class ApplicationRunnerImpl implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws Exception {
System.out.println(" ApplicationRunner , spring boot ...");
}
}
두 번 째 는 CommandLine Runner 인 터 페 이 스 를 실현 합 니 다.
package org.mundo.demo.core;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
@Component
@Order(1)
public class CommandLineRunnerImpl implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
System.out.println(" CommandLineRunner , spring boot ...");
}
}
대비:공통점:이 두 가지 방법 은 프로젝트 가 시 작 될 때 바로 어떤 방법 을 실행 하 는 것 을 만족 시 키 기 위해 서 입 니 다.모두 SpringApplication 이 실 행 된 후에 실 행 됩 니 다.
다른 점:CommandLine Runner 인 터 페 이 스 는 문자열 배열 의 명령 행 인 자 를 받 을 수 있 습 니 다.ApplicationRunner 는 ApplicationArguments 를 사용 하여 인 자 를 받 을 수 있 습 니 다.
주의:
1.실행 순 서 는 주해@Order 또는 Ordered 인 터 페 이 스 를 사용 할 수 있 습 니 다.주해@Order 또는 인터페이스 Ordered 의 역할 은 Spring IOC 용기 에서 Bean 의 실행 순 서 를 정의 하 는 우선 순위 입 니 다.Bean 의 로드 순 서 는@Order 또는 Ordered 인터페이스의 영향 을 받 지 않 습 니 다.
2.프로젝트 에서 ApplicationRunner 와 CommondLine Runner 인 터 페 이 스 를 동시에 실현 할 때 Order 주해 또는 Ordered 인 터 페 이 스 를 사용 하여 실행 순 서 를 지정 할 수 있 습 니 다.값 이 작 을 수록 우선 실행 할 수 있 습 니 다.
3.주 해 는 int 형식의 매개 변수 가 있 습 니 다.전달 하지 않 아 도 됩 니 다.기본 값 은 최소 우선 순위 입 니 다.
이상 은 Spring Boot 프로젝트 의 자동 실행 방법 을 시작 하 는 두 가지 실현 방식 에 대한 상세 한 내용 입 니 다.Spring Boot 프로젝트 의 자동 실행 방법 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.