본문 바로가기

Java/Spring

[Spring Boot] Spring Boot 프로젝트의 구조와 실행 방법

728x90
반응형

 

 

 

처음 Spring Boot 프로젝트를 생성한 뒤 곧바로 실행해 보자.

 

지금 생성된 프로젝트는 아무런 내용이 없는 아주 기본적인 형태의 빈 프로젝트임. 이는 앞으로 우리가 개발하려고 하는 프로젝트의 기반이 되는 필수 설정이나 라이브러리들을 가지고 있음. 기본적인 실행 환경을 가지고 있기 때문에 현재 상태만으로도 바로 실행이 가능함.

 

 

 

 

 

 

기본적인 Spring Boot 프로젝트는 내장 Tomcat을 가지고 있기 때문에 위 이미지와 같이  @SpringBootApplication 이라는 Annotation이 들어 있는 클래스 파일에는 main() method가 들어 있을 것이고 이 클래스를 실행하는 것만으로도 embeded Tomcat이 실행됨으로써 서버가 같이 기동됨.

 

 

 

 

프로젝트를 실행시키고 로그를 보면 Spring Boot의 상징적인 기본 배너가 표시되고 Spring Boot의 버전이 확인되며 어떠한 환경들이 있는지, 그리고 로그 가장 마지막에는 Tomcat 서버가 시작되는 문구와 함께 몇 번 포트로 기동되었는지까지 확인이 가능함. 이렇게 웹 서버, 웹 애플리케이션 형태로 기본 프로젝트가 실행된 것을 확인할 수 있음.

 

 

 

그럼 이제 Spring Context에서 Spring이 기동되어 있는 서버 내에 어떤 Bean들이 추가되어 있는지 확인해 보자.

 

@SpringBootApplication
public class MyRestfulServiceApplication {

  public static void main(String[] grgs){
    ApplicationContext ac = SpringApplication.run(MyRestfulServiceApplication.class, args);
    
    String[] allBeanNames = ac.getBeanDefinitionNames();
    for(String beanName : allBeanNames){
      System.out.println(beanName);
    }
  }
}

 

앞에서 보았던 기본 코드 앞에 run()이라는 함수를 실행하면 반환 값으로 ApplicationContext를 받아 올 수 있고, 이를 통해 Spring Context에 등록된 Bean의 목록을 가져올 수 있는데 getBeanDefinitionNames() 함수를 사용하면 초기 상태에 등록된 모든 Bean을 확인할 수 있음. 위 코드를 실행하면,

 

 

이처럼 현재 Spring Context에 포함되어 있는 다양한 Bean들의 이름을 확인할 수 있음. 앞으로 개발을 진행하면서 사전에 등록된 이러한 Bean들을 사용할 수 있을 뿐 아니라 프로젝트 안에서 임의로 생성했던 컴포넌트나 객체들이 있다면 그러한 내용들도 Context에 등록해 사용할 수 있게 됨.

 

 

 

 

출처
본 포스트는 인프런 이도원 강사님의 "Spring Boot 3.x 를 이용한 RESTful Web Services 개발" 강의를 통해 직접 작성 및 정리한 글입니다.

 

 

 

 

 

728x90
반응형

'Java > Spring' 카테고리의 다른 글

[Spring Boot] Hello World Bean  (0) 2024.09.11
[Spring Boot] HelloWorld Controller  (1) 2024.09.02
Restful API 설계  (2) 2024.08.28
[Spring Boot] Spring Boot 개요  (1) 2024.08.26
Open API  (1) 2024.08.23