
->Web이냐 아니냐에 따라, ApplicationContext가 달라짐.
->AnnotationConfigApplicationContext(Web이 x 경우) or AnnotationConfigServletWebServerApplicationContext(web이 o 경우)로 나뉨.

->예전 spring에서는 web이냐 아니냐만 따져서 위처럼 코드 작성했는데,

->지금은 web 종류가 2가지가 있어서, 위에처럼 Servlet or reactive 이렇게 타입을 정해줘야 한다.



->SpringApplication.run()에 arg 넣으면 된다.
->bean -> org.springframework.boot.ApplicationArguments임.
cf.) 밑에 별에 있는 문장 -> single application arguments 틀림. single이 아닌 여러개 가능함.



->한 마디로, autowired는 자동으로 해당 타입의 빈을 찾아 의존성을 주입해주는 것이다.




->한 마디로 인자의 수에 따라 결정된다.
->간단한 인자: commandline, 복잡한 인자: application


->그냥 exit code 보여주는 코드(int만 됨)
->근데 System.exit이기 때문에, run 하자마자 바로 exit 됨. -> 이 부분은 추후 코드 커스터마이징이 필요함(자동으로 꺼지지 않게 하기 위해)


->즉, application properties에 spring.application.admin.enabled=true로 설정하고, jconsole을 키면

->밑에와 같이, 이렇게 확인 할 수 있다.


->threads,cpu usage 등을 시각적으로 볼 수 있다.
->메모리 누수 등을 확인 할 수 있다.

->위와 같이 shutdown을 통해 exit code를 할 수 있다.(어플 종료)