Spring 초기 설정과 애플리케이션 설정 파일

송범·2024년 12월 31일

서비스 배포 방법

프로젝트 폴더에서 ls로 파일 확인 후

Window는 gradlew.bat clean build -> cd build -> cd libs -> ls -> java -jar 폴더명-0.0.1-SNAPSHOT.jar

맥OS 는 ./gradlew clean build

yml 파일로 server port번호 8000으로 설정

서버 실행 완료

📌 프로젝트 배포 파일 만들기 요약

  1. 프로젝트 폴더로 이동한다.

  2. 프로젝트 폴더에서 gradlew.bat clean build 엔터한다.

  3. 프로젝트 폴더 아래 build>libs폴더에서 java -jar 프로젝트이름-0.0.1-SNAPSHOT.jar 엔터한다.

  4. 브라우저를 열어서 http://localhost:8000 엔터 하면 default로 resources>static>index.html 문서를 요청하여 페이지에 출력된다.

📌 Servlet 설치하기 -> 6.1.0

https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api/6.1.0

📌 MyBatis 설치하기 -> 3.5.17

https://mvnrepository.com/artifact/org.mybatis/mybatis/3.5.17

📌 Gson 설치하기 -> 2.11.0

build.gradle 에 추가해주기
implementation "org.apache.tomcat.embed:tomcat-embed-jasper"
compileOnly 'jakarta.servlet:jakarta.servlet-api:6.1.0'
implementation 'org.mybatis:mybatis:3.5.17'
implementation 'com.google.code.gson:gson:2.11.0'

-maven -> pom.xml 환경설정
-gradle -> json파일,

📌 Properties와 YML의 차이점

PropertiesYAML애플리케이션 설정 파일로 자주 사용되며, 주요 차이는 구조, 가독성, 그리고 표현 방식입니다.


📌 1. 구조의 차이

Properties

  • 각 줄마다 key=value 형태로 작성됩니다.
  • 중첩 구조는 .(점)을 사용하여 표현합니다.
server.port=8080
server.address=127.0.0.1

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=secret

YAML

  • 들여쓰기와 콜론(:)을 사용하여 계층적 구조를 표현합니다.
  • 중첩 구조가 직관적으로 표현됩니다.

server:
  port: 8080
  address: 127.0.0.1

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    username: root
    password: secret

📌 2. 가독성

Properties

  • 설정이 간단한 경우에는 적합하지만, 설정이 많아지면 가독성이 떨어질 수 있습니다.

  • 중첩 구조를 점(.)으로 표현하기 때문에 복잡한 설정에서는 가독성이 낮아질 수 있습니다.

YAML

  • 들여쓰기를 사용하여 계층 구조를 명확히 표현할 수 있으므로 가독성이 뛰어납니다.

  • 설정이 복잡할수록 YAML이 더 유리합니다.

📌 3. 배열과 리스트 표현

Properties

  • 배열은 키를 중복 사용하거나 인덱스를 명시적으로 작성해야 합니다.
spring.profiles[0]=dev
spring.profiles[1]=test
spring.profiles[2]=prod

YAML

  • 배열을 자연스럽게 표현할 수 있습니다.
spring:
  profiles:
    - dev
    - test
    - prod

📌 4. 사용 사례

Properties

  • 간단한 설정 파일에 적합합니다.

  • 오래된 Java 프로젝트와의 호환성을 유지해야 할 때 유용합니다.

  • 작은 규모의 애플리케이션에서 사용하기 적합합니다.

YAML

  • 복잡한 계층 구조를 가지는 설정이 필요할 때 적합합니다.

  • Spring Boot와 같은 현대적인 프레임워크에서 권장됩니다.


📌 Properties와 YAML 차이점 요약

단순한 설정에는 Properties 파일이 적합합니다

구조적이고 복잡한 설정에는 YAML 파일이 적합합니다

특징PropertiesYAML
구조 표현평면적 구조 (key=value)계층적 구조 (key: value)
가독성낮음높음
배열 표현인덱스를 명시해야 함 (key[n]=value)자연스러운 배열 표현 가능
구문 오류 발생 가능성낮음들여쓰기 실수로 오류 발생 가능
사용 사례간단한 설정, 소규모 프로젝트복잡한 설정, 현대적 프로젝트
profile
BackEnd&Data Scientist가 되고 싶은 개발 기록 노트

0개의 댓글