인텔리제이 환경에서 스프링 부트 프로젝트 빌드

김태훈·2023년 9월 21일

spring boot

목록 보기
1/6

스프링 부트 프로젝트 만들기

프로젝트의 Generators 선택하기

  • 스프링 프레임워크를 사용할때는 프로젝트의 Generators를 Maven Archetype으로 했지만 스프링 부트 프로젝트를 만들때는 Spring Initializr으로 해야 한다.

  • 이후 원하는 프로젝트의 이름을 설정하고 언어, type등을 다음의 화면과 같이 설정한다.

프로젝트의 의존성 설정하기

  • 의존성 설정이라는 워딩을 사용해서 무슨 말인가 싶긴 할수도 있다. 의존성 설정은 그냥 개발자가 원하는 웹 프로젝트에 맞게 사용할 여러가지 라이브러리나 프레임워크들을 설정하는 단계라고 생각하면된다. 우선은 데이터베이스와 연결하는것을 기준으로 가져올 라이브러리들을 설정해준다. 필자의 경우 다음과 같이 총 5개의 라이브러리들을 가져왔다.



다음은 데이터 베이스와 연결을 하기 위해 가져오는 두개의 라이브러리다.

스프링 부트의 버전은 2.7.15버전을 가져왔다.

스프링 부트로 빌드된 프로젝트의 template는 스프링 프레임워크에서 view역할을 하는 부분이다. 스프링 부트의 주요한 파일들의 특징은 다음 포스트에서 알아보도록 하자.

다음의 사진에 열어놓은 template 폴더의 application properies 파일에는 다양한 애플리케이션의 개발 요구사항에 맞춰 설정을 관리 할수 있는 소스 코드들을 저장 할 수 있다. 이번 포스팅에서는 포트 번호를 설정하는 데에만 application properies를 사용했지만 원래는 데이터베이스 연결 정보, 포트 번호, 외부 서비스 엔드포인트, 보안 설정 등과 같은 애플리케이션의 동작을 제어하는 많은 설정을 정의할 수 있다.

이후 실행을 하면 콘솔에는 설정한 포트 번호로 톰캣이 설정 되었다는 문구를 확인할 수 있다. 밑에서 5번째 줄을 확인하자.

application.yml파일 내용

  • application properies 와 동일하지는 않지만 유사한 기능을 하는 특징이 있다. 이렇게 말한 이유는 application.yml파일이 애플리케이션의 동작과 구성을 지정하는데 사용이 되기 때문이다.

yml 파일을 설정할때 꼭 주의할 점이 두 가지 있다.
첫번째는 yml의 들여쓰기 부분을 함부로 만지면 안된다. 들여쓰기가 된것들은 계층구조로 특정 라이브러리나 프레임워크들이 포함이 되는 관계로 설정이 된 것이므로 꼭 유의하자.
두번째로 유의할점은 # spring data jpa 부분에서

hibernate:
      ddl-auto: update

의 'ddl-auto:'를 update로 하지 않고 'create'로 하게되면 Entity클래스에서 컬럼이나 다른 변경사항을 적용한뒤 실행을 하면 넣어줬던 데이터들이 모두 사라지고 Entity 클래스의 인스턴스가 다시 만들어진다.따라서 저장해주었던 레코드들이 모두 사라지게 되므로 꼭 'update'로 설정을 해줘야 한다.

다음은 정말 기초적인 프로젝트 설정을 위한 부분이므로 프로젝트에 필요한 설정들은 빌드를 할때마다 프로젝트의 특성에 맞게 추가나 수정이 필요 하다.

# server port
# server.port=8082
server:
  port: 8083

# data base
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/db_springboot?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
      username: user_springboot
      password: 1234

  # thymeleaf
  thymeleaf:
    cache: false

  # spring data jpa
  jpa:
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
    open-in-view: false
    hibernate:
      ddl-auto: update

# db query log
logging:
  level:
    org:
      hibernate:
        SQL: trace
        type:
          descriptor:
            sql:
              BasicBinder: trace

0개의 댓글