2020-03-15 23:58:13.136 INFO 80825 --- [ main] com.example.Application : Starting Application on yangdong-uui-MacBookPro.local with PID 80825 (/Users/dongwoo-yang/dev/study/spring/everyday_spring/chapter3/ch3_7/springbootgettingstarted/target/classes started by dongwoo-yang in /Users/dongwoo-yang/dev/study/spring/everyday_spring/chapter3/ch3_7/springbootgettingstarted) 2020-03-15 23:58:13.139 INFO 80825 --- [ main] com.example.Application : No active profile set, falling back to default profiles: default 2020-03-15 23:58:13.724 INFO 80825 --- [ main] com.example.Application : Started Application in 0.919 seconds (JVM running for 1.529)
Process finished with exit code 0
바로 종료가 됨을 확인할 수 있다.
포트 변경 하기
application.properties
server.port=7070
7070포트로 변경하였다.
결과
Undertow started on port(s) 7070 (http) with context path ''
8080(기본)포트에서 7070포트로 바뀐 것을 확인할 수 있따.
랜덤 포트
server.port=0
포트번호로 0을 주게 되면 비어있는 포트를 선택해서 만들어준다.
실시간으로 포트정보 알아보기
@Component publicclassPortListenerimplementsApplicationListener<ServletWebServerInitializedEvent> { @Override publicvoidonApplicationEvent(ServletWebServerInitializedEvent event) { // getApplicationContext()메소드를 이용하여 ApplicationContext를 얻는다. // ApplicationContext는 servlet ApplicationContext이기 때문 웹 서버를 알 수 있다. ServletWebServerApplicationContextapplicationContext= event.getApplicationContext(); // 얻어진 웹서버를 통해 포트를 알아낼 수 있다. System.out.println(applicationContext.getWebServer().getPort()); } }
ApplicationListner<ServletWebServerInitializedEvent>인터페이스를 구현함으로써 포트번호를 알아 낼 수 있다. ApplicationListner<ServletWebServerInitializedEvent>를 구현한 PortListener는 웹서버가 초기화가 되면 호출 된다.
이벤트 발생시 얻어진 ServletWebServerInitializedEvent인스턴스에 getApplicationContext()메소드를 이용하여 ApplicationContext객체를 얻어낼 수 있다. 얻어진 ApplicationContext객체는 servlet ApplicationContext 객체이므로 웹 서버를 알 수 있고 얻어진 웹 서버를 통해 포트를 알아낼 수 있다.