- YAML(YAML Ain't Markup Language) 로 데이터 직렬화 양식임
- YAML 파일은 .yml 또는 .yaml 확장자를 가지며, 일반적으로 설정 파일로 사용됨
가독성: YAML은 사람이 쉽게 읽고 이해할 수 있는 형식입니다.
들여쓰기와 가독성을 중요시하여 설계되었습니다.
계층적 구조: YAML은 데이터를 계층적 구조로 표현할 수 있습니다.
들여쓰기를 통해 데이터 간의 부모-자식 관계를 나타낼 수 있습니다.
키-값 쌍: YAML은 키-값 쌍으로 데이터를 표현합니다.
각 키는 콜론(:)으로 값과 구분되며, 값은 스칼라(문자열, 숫자, 불린) 또는 다른 복합 데이터 유형(리스트, 맵)일 수 있습니다.
리스트: YAML은 순서가 있는 목록 데이터를 표현할 수 있습니다.
대시(-)를 사용하여 리스트의 각 항목을 구분합니다.
주석: YAML 파일에서 주석을 추가할 수 있습니다.
주석은 ## 문자로 시작하며, 해당 줄의 끝까지만 유효합니다.
아래와 같이 작성하여 사용 가능
application.yml
=====================================================================
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
h2:
console:
enabled: true
path: /h2-console
datasource:
url: jdbc:h2:~/test
driverClassName: org.h2.Driver
username: sa
password:
sql :
init :
mode : always
encoding: utf-8
server :
port : 9090
springdoc:
packages-to-scan: com.blog.createblogpost
default-consumes-media-type: application/json;charset=UTF-8
default-produces-media-type: application/json;charset=UTF-8
swagger-ui:
path: swagger-ui.html ## Swagger UI ?? , localhost:9090/swagger-ui/index.html default : swagger-ui/index.html
tags-sorter: alpha ## alpha: ??? ? ?? ??, method: HTTP Method ? ??
operations-sorter: alpha ## alpha: ??? ? ?? ??, method: HTTP Method ? ??
api-docs:
path: /api-docs/json
groups:
enabled: true
cache:
disabled: true
=====================================================================
분리되어 있을때는 application.yml 파일에서 활성화할 yml 파일을 지정할 수 있음
지정하는 방식은 파일명이 아닌 속성으로 지정함
application.yml 파일에서는 활성화 할 프로파일을 지정
application-local.yml 파일에서는 on-profile 에 해당 프로파일의 이름을 설정
application.yml 파일
=====================================================================
spring:
profiles:
default: local ## 해당 설정이 들어있는 프로파일을 활성
=====================================================================
application-local.yml 파일
=====================================================================
spring:
config:
activate:
on-profile: local ## application.yml 에 기재되어 있는 설정파일 실행
mvc:
pathmatch:
matching-strategy: ant_path_matcher
h2:
console:
enabled: true
path: /h2-console
datasource:
url: jdbc:h2:~/test
driverClassName: org.h2.Driver
username: sa
password:
sql :
init :
mode : always
encoding: utf-8
server :
port : 9090
springdoc:
packages-to-scan: com.blog.createblogpost
default-consumes-media-type: application/json;charset=UTF-8
default-produces-media-type: application/json;charset=UTF-8
swagger-ui:
path: swagger-ui.html ## Swagger UI ?? , localhost:9090/swagger-ui/index.html default : swagger-ui/index.html
tags-sorter: alpha ## alpha: ??? ? ?? ??, method: HTTP Method ? ??
operations-sorter: alpha ## alpha: ??? ? ?? ??, method: HTTP Method ? ??
api-docs:
path: /api-docs/json
groups:
enabled: true
cache:
disabled: true
=====================================================================
jar 파일 실행 명령어 뒤에 아래의 명령어를 붙여주면됨
--spring.profiles.active=실행하려는프로파일명
=====================================================================
java -jar chat-gpt.jar --spring.profiles.active=local
=====================================================================