Spring Profiles
Server
server:
port: 443
servlet.context-path: /
max-http-header-size: 8KB
connection-timeout: 5s
error:
include-stacktrace: never
include-binding-errors: never
include-message: never
tomcat:
threads.max: 200
# 請求主體的最大限制
max-swallow-size: 2MB
# 整個 Post 請求的最大限制
max-http-post-size: 2MB
# 存取日誌對於衡量網頁點擊量、使用者工作階段活躍度非常有幫助
accesslog:
enabled: true
directory: logs
file-date-format: yyyy-MM-dd
prefix: access_log
suffix: .logSSL
server:
port: 443
ssl:
enabled: true
key-alias: <your_alias>
key-password: <keystore_password>
key-store: classpath:local-ssl.p12
key-store-password: <keystore_password>
key-store-type: PKCS12Tomcat
server:
tomcat:
accesslog:
enabled: true
file-date-format: .yyyy-MM-dd
directory: ${dev.tomcat-accesslog-dir}
# 編碼設定
uri-encoding: UTF-8
# 連線超時時間 (毫秒)
connection-timeout: 30000
threads:
# 初始化的最小線程數
min-spare: 500
# 最大的線程數
max: 2500
# 最大連接數
max-connections: 5000
# 隊列滿時等待的連線數
accept-count: 1000Banner
spring:
# 匯入外部配置檔案
config:
import: optional:sit.yml
# 控制台 ANSI 色彩輸出
output:
ansi:
enabled: always
# 啟動圖案位置
banner:
location: banner.txtLogging
# 日誌配置範例
logging:
config: classpath:logback-spring.xml
exception-conversion-word: "Logging Occur Error"
file:
path: ${dev.logging-file-path}
charset:
file: UTF-8
level:
root: info
logback:
rollingpolicy:
max-file-size: 10MB
max-history: 7Datasource
H2
spring:
h2:
console:
path: '/h2'
enabled: true
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:mem:testdb
username: 'sa'
password:
jpa:
show-sql: true
hibernate:
ddl-auto: update
database-platform: org.hibernate.dialect.H2DialectMySQL
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/DB_NAME?useSSL=false&serverTimezone=Asia/Taipei
username:
password:Postgres
spring:
datasource:
url: jdbc:postgresql://localhost:5432/postgres
username: postgres
password: postgresJPA
spring:
jpa:
database: mysql
database-platform: org.hibernate.dialect.MySQL8Dialect
generate-ddl: true
hibernate:
ddl-auto: update
show-sql: trueMultiple DataSource (多資料源)
spring:
# 配置多個資料源名稱
datasource:
# 第一個資料源
organization:
url: ${sit.org-db-url}
username: ${sit.org-db-name}
password: ${sit.org-db-pass}
driver-class-name: com.mysql.cj.jdbc.Driver
# 第二個資料源
coturn:
url: ${sit.coturn-db-url}
username: ${sit.coturn-db-name}
password: ${sit.coturn-db-pass}
driver-class-name: com.mysql.cj.jdbc.DriverRedis
spring:
redis:
database: 0
password:
lettuce:
pool:
max-active: 8
max-wait: -1
max-idle: 8
min-idle: 0Security
spring:
security:
oauth2:
resourceserver:
jwt:
issuer-uri: https://cognito-idp.${sit.aws-region}.amazonaws.com/${sit.aws-user-pool-id}
jwk-set-uri: https://cognito-idp.${sit.aws-region}.amazonaws.com/${sit.aws-user-pool-id}/.well-known/jwks.jsonSpring Doc OpenAPI
# Swagger UI 與 OpenAPI 文件的訪問路徑
springdoc:
api-docs:
path: /api-docs
enabled: true
swagger-ui:
path: /swagger-ui.html
enabled: true
cache:
disabled: false
writer-with-default-pretty-printer: true