Spring Boot 프로젝트에 관하여

정원준·2024년 5월 12일

Back-End

목록 보기
3/9

Spring Boot 프로젝트를 실행하기 이전에..

우선은 어떤 프로젝트가 만들어졌는지에 대해서 사진으로 첨부하겠다.
다음은 내가 만든 프로젝트이다.

스프링부트의 메인을 실행시키기 이전에 몇 가지 설명해야 할 부분을 설명하고 넘어가겠다.
다음은 메인이다

@SpringBootApplication이란

@SpringBootApplication은 Spring Boot 애플리케이션을 시작하기 위해 사용되는 어노테이션이다.
해당 어노테이션은 크게 세 가지 다른 어노테이션을 결합한 것인데,
@SpringBootConfiguration, @EnableAutoConfiguration, @ComponentScan이 결합된 것이다.

@SpringBootConfiguration

이 어노테이션은 클래스가 Spring의 구성을 정의하는 클래스임을 나타낸다.
쉽게 말해 @Configuration 어노테이션이 달린 클래스들을 찾아서 애플리케이션의 구성(configuration)을 정의한다.
우린 보통 @Bean 어노테이션을 사용하여 애플리케이션에서 사용될 빈(bean)들을 생성하는데,
@SpringBootConfiguration은 이러한 빈을 자동으로 감지하여 스프링 컨텍스트에 등록한다.

@EnableAutoConfiguration

Spring Boot의 핵심 기능 중 하나이다.
이 어노테이션은 클래스 경로에 있는 클래스와 구성을 기반으로 Spring 애플리케이션의 설정을 자동으로 구성한다.
쉽게 말해 클래스 경로 상의 라이브러리, 설정 파일, 기타 구성 요소를 검색하여 적절한 Bean을 생성한다.
예를 들어, 데이터베이스 연결, 웹 서버 설정, 보안 설정 등을 자동으로 처리한다는 것이다.

@ComponentScan

이 어노테이션은 Spring에게 지정된 패키지에서 컴포넌트, 서비스, 컨트롤러 등의 Spring 구성 요소를 검색하도록 지시한다.
이를 통해 Spring은 자동으로 컴포넌트를 스캔하고 등록하여 애플리케이션의 구성을 완료할 수 있다.
이게 무슨 의미냐면 @Component, @Service, @Repository 등과 같은 애노테이션을 가진 클래스들을 스캔하여 Spring 컨텍스트에 등록하도록 지시한다는 의미이다.
( 이렇게 등록된 컴포넌트들은 Spring의 의존성 주입(Dependency Injection) 기능을 통해 서로 참조한다. )

즉 이러한 애너테이션들의 결합으로 @SpringBootApplication은 스프링 컨텍스트를 구성하고 설정한다.

Spring Boot 프로젝트를 실행하면..

그럼 이제 Spring Boot를 실행해보자
실행된다는 것은 SpringApplication.run() 메소드가 실행되는 것과 마찬가지라고 볼 수 있는데
SpringApplication.run() 메소드가 실행되면 다음과 같은 과정이 벌어진다.
1. 스프링 컨텍스트를 구성하고 설정한다.
2. 내장 서버를 시작한다.
3. 추가적인 설정 작업을 수행한다.
( 예를 들어, 데이터베이스 연결 설정, 로깅 설정, 보안 설정 등을 초기화하고 활성화한다. )

그렇다면 우리가 스프링 부트를 실행하면 서버가 잘 작동할까?
정답은 아니다.
이유는 내장 서버가 제대로 작동하지 않는 이유인데 여기서 서버를 작동하기 위해서는 뭐가 필요할까?
1. url 설정 ( 데이터베이스 이름 설정 )
2. 데이터베이스 사용자 이름 설정
3. 데이터베이스 사용자 비밀번호 설정
4. DBMS 드라이버 클래스의 경로 지정

다음과 같은 코드 구조를 application.properties 또는 application.yml 파일에 추가하면 된다.

spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

예시로 DB이름은 testdb에 사용자 이름은 root 비밀번호는 1234를 사용한다면 형식은 다음과 같다

그럼 한 번 코드를 실행시켜 서버가 잘 작동하는지 보자

윗 부분처럼 코드가 떴고 localhost:8080에 들어갔는데 다음과 같으면 서버가 잘 작동하는 것이다.

1개의 댓글

comment-user-thumbnail
2024년 5월 12일

좋은 글 감사합니다!

답글 달기