본문 바로가기

Spring

Spring Boot 🌼 구동 및 테스트

 

이전 포스트에서 Spring Boot의 프로젝트를 생성하는 것을 알아봤다.

 

Spring Boot🌼 프로젝트 생성하기

Spring Boot Project | Spring Initializr or IDE에서 생성하는 방법

velog.io

이번 포스트에서는 Spring Boot가 실행되는 과정과 테스트를 알아본다.

Spring Boot 실행

먼저 생성된 Spring Boot 프로젝트를 구조를 보면

이러한 디렉토리 구조를 볼 수 있다.

.gradle, .idea, gradle 폴더의 경우 build tool과 ide 설정이므로 현 포스트에서는 다루지 않을 예정이다.

src 디렉토리를 열어보면 src/java, src/resource 이렇게 두개의 패키지가 나오는데 이곳이 실제로 실행되는 코드 및 resource가 저장되는 곳이다.

src/java 하위 폴더를 보면 프로젝트 생성시 지정했던 패키지명으로 지정되어 있음을 알 수 있다.
해당 패키지가 최상위 패키지이고, 그 안에 Demo1Application은 Spring Boot의 실행 main method가 구현되어 있는 클래스이다.

자동으로 생성된 Demo1Applicaiton class의 내부이다.

@SpringBootApplication 어노테이션을 가지고 있고, main 메소드 안에는 SpringApplication.run 함수를 가지고 있다.

@SpringBootApplication 내부에는 설정을 자동으로 하는 @EnableAutoConfiguration 과 하위 패키지를 스캔하여 Bean 등록을 하는 @ComponentScan, 설정파일임을 알리는 @SpringBootConfiguration 3개의 어노테이션이 있다.

프로젝트 실행시 @EnableAutoConfiguration으로 인해 자동으로 설정이 완료되며, 하위 패키지를 스캔하여 @Component나 streoType (@Controller, @Service, @Repository, ...) 와 같은 어노테이션이 붙어있는 클래스들을 Bean 등록 한다.

실행콘솔에는 이와 같은 로그가 나오는데 dependency로 추가된 Tomcat이 실행되며 서버가 올라가는 모습을 볼 수 있다.

 

※ DB관련 dependency를 추가한 경우 실행이 되지 않을 수 있다.

@SpringBootApplication이 실행되며 DB와의 연결을 체크하기 때문인데,

해당 하는 경우 application.properties에 DB 설정을 추가한다.

spring.datasource.url=DB url
spring.datasource.driver-class-name=driver
spring.datasource.username=username
spring.datasource.password=password

사용중인 DB에 따라 설정을 완료하고 실행한다.

 

※ 포트가 중복될시

Application.properties에 아래와 같이 설정하면 포트를 변경할 수 있다.

server.port=9999