Spring Boot

Spring boot Web Environment

상국이 2022. 2. 5. 16:15
728x90

Web Environment의 경우

서블릿의 유무 > webFlux의 유무 > 둘다 없음 순으로 정해짐

(SERVLET)   >    (REACTIVE)   >          (NONE)

 

* Web Environment를 변경하고 싶은 경우 (SpringApplication).setWebApplicationType을 설정할 수도 있음

 

Argument

  • Jvm argument
    : -D 로 시작함 ,  jvm 설정에 관련된 argument
  • Application argument : 
    -- 로 시작,  어플리케이션 설정에 관련된 argument

ApplivationRunner or CommandLineRunner를 통해 application실행 이후 추가적으로 실행할 수 있음

라고 설정해둔경우

- ApplicationRunner

@Component
public class ApplicationRunnerSample implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) throws Exception {
        Iterator<String> iterator = args.getOptionNames().iterator();
        System.out.println("Application Arguments");
        System.out.println(iterator.next() + " values " + args.getOptionValues("name"));
        System.out.println(iterator.next() + " values " + args.getOptionValues("age"));
    }
}

* 결과

 - CommandLineRunner

@Component
public class CommandLineRunnerSample implements CommandLineRunner {
    @Override
    public void run(String... args) throws Exception {
        System.out.println("Application Arguments");
        Arrays.stream(args).forEach(System.out::println);
    }
}

* 결과 

* 순서를 지정해주고 싶은 경우 @Order(순서) 를 사용하여 지정할 수 있음(음수도 가능)

728x90