最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

idea使用.env運(yùn)行SpringBoot項(xiàng)目

 更新時(shí)間:2026年02月10日 08:22:49   作者:Aric_Jones  
在SpringBoot項(xiàng)目中,通過.env文件管理敏感配置和環(huán)境參數(shù)比硬編碼在application.yml中更安全規(guī)范,本文就來介紹一下如何使用,感興趣的可以了解一下

在基于 Spring Boot 開發(fā)的項(xiàng)目中,我們會(huì)接觸到數(shù)據(jù)庫、Redis、OSS、第三方登錄等大量敏感配置和環(huán)境相關(guān)參數(shù)。直接將這些參數(shù)硬編碼在application.yml中存在諸多問題,而通過.env文件管理環(huán)境變量,能讓項(xiàng)目開發(fā)、協(xié)作、部署更規(guī)范、更安全。

修改yml文件

把敏感信息使用占位符代替,例如下面

server:
  port: ${SERVER_PORT:8080}

spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
  application:
    name: BlogApplication
  # MySQL
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://${MYSQL_HOST:localhost}:${MYSQL_PORT:3306}/${MYSQL_DB:blog}?serverTimezone=Asia/Shanghai&allowMultiQueries=true&rewriteBatchedStatements=true
    username: ${MYSQL_USER:root}
    password: ${MYSQL_PASSWORD:}
    druid:
      initial-size: 10
      min-idle: 10
      max-active: 150
      max-wait: 60000
      time-between-eviction-runs-millis: 60000
      min-evictable-idle-time-millis: 600000
      max-evictable-idle-time-millis: 900000
      validation-query: SELECT 1 FROM DUAL
      validation-query-timeout: 500
      test-while-idle: true
      test-on-borrow: false
      test-on-return: false
  # 文件上傳限制
  servlet:
    multipart:
      max-request-size: 100MB
      max-file-size: 100MB
  # Redis
  redis:
    host: ${REDIS_HOST:localhost}
    port: ${REDIS_PORT:6379}
    password: ${REDIS_PASSWORD:}
    timeout: 10s
    lettuce:
      pool:
        max-active: 150
        max-wait: 5000ms
        max-idle: 100
        min-idle: 50
  # 郵箱
  mail:
    host: ${MAIL_HOST:smtp.qq.com}
    username: ${MAIL_USERNAME:}
    password: ${MAIL_PASSWORD:}
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
          ssl:
            enable: true
#  rabbitmq:
#    host: ${RABBITMQ_HOST:localhost}
#    port: ${RABBITMQ_PORT:5672}
#    username: ${RABBITMQ_USER:guest}
#    password: ${RABBITMQ_PASSWORD:guest}

# 博客鏈接
blog:
  url: ${BLOG_URL:http://localhost:1314/}

# 線程池
thread:
  pool:
    core-pool-size: 5
    max-pool-size: 10
    queue-capacity: 50
    keep-alive-seconds: 60

# 搜索模式 elasticsearch、mysql
search:
  mode: ${SEARCH_MODE:mysql}

# 文件上傳策略 local、oss、cos
upload:
  strategy: ${UPLOAD_STRATEGY:oss}
  local:
    url: ${UPLOAD_LOCAL_URL:https://static.ttkwsd.top/}
    path: ${UPLOAD_LOCAL_PATH:/usr/local/upload/}
  oss:
    url: ${OSS_URL:}
    endpoint: ${OSS_ENDPOINT:}
    bucketName: ${OSS_BUCKET:}
    accessKeyId: ${OSS_ACCESS_KEY_ID:}
    accesskeySecret: ${OSS_ACCESS_KEY_SECRET:}

# MyBatis-Plus
mybatis-plus:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.ican.entity
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    map-underscore-to-camel-case: true
  global-config:
    db-config:
      table-prefix: t_

# Elasticsearch
elasticsearch:
  enabled: ${ES_ENABLED:false}
  username: ${ES_USERNAME:elastic}
  password: ${ES_PASSWORD:}
  hostname: ${ES_HOST:localhost}
  port: ${ES_PORT:9200}
  connectTimeout: 3000
  socketTimeout: 30000
  connectionRequestTimeout: 1000

# Sa-Token
sa-token:
  token-name: Authorization
  token-prefix: Bearer
  timeout: -1
  active-timeout: -1
  auto-renew: false
  is-concurrent: true
  token-style: uuid
  is-share: false
  max-login-count: 20
  is-read-cookie: false
  is-read-body: false
  is-read-header: true
  is-log: false

# 第三方登錄
oauth:
  gitee:
    client-id: ${OAUTH_GITEE_CLIENT_ID:}
    client-secret: ${OAUTH_GITEE_CLIENT_SECRET:}
    grant_type: authorization_code
    redirect-uri: ${OAUTH_GITEE_REDIRECT:https://your-domain.com/oauth/login/gitee}
    access-token-url: https://gitee.com/oauth/token
    user-info-url: https://gitee.com/api/v5/user?access_token={access_token}
  github:
    client-id: ${OAUTH_GITHUB_CLIENT_ID:}
    client-secret: ${OAUTH_GITHUB_CLIENT_SECRET:}
    redirect-url: ${OAUTH_GITHUB_REDIRECT:https://your-domain.com/oauth/login/github}
    access-token-url: https://github.com/login/oauth/access_token
    user-info-url: https://api.github.com/user
  qq:
    app-id: ${OAUTH_QQ_APP_ID:}
    app-key: ${OAUTH_QQ_APP_KEY:}
    grant_type: authorization_code
    redirect-url: ${OAUTH_QQ_REDIRECT:https://your-domain.com/oauth/login/qq}
    access-token-url: https://graph.qq.com/oauth2.0/token
    user-openid-url: https://graph.qq.com/oauth2.0/me
    user-info-url: https://graph.qq.com/user/get_user_info

# AI 對(duì)話
ai:
  deepseek:
    api-key: ${AI_API_KEY:}
    api-url: ${AI_API_URL:https://api.deepseek.com/chat/completions}
    model: ${AI_MODEL:deepseek-chat}
    system-prompt: ${AI_SYSTEM_PROMPT:你是一個(gè)博客智能助手,幫助用戶解答技術(shù)問題。請(qǐng)用簡(jiǎn)潔、專業(yè)的中文回答,支持 Markdown 格式。如果問題與編程、技術(shù)無關(guān),也可以友好地回答。}

# B站圖片上傳
bili-url: https://api.bilibili.com/x/dynamic/feed/draw/upload_bfs

這樣就會(huì)把敏感信息隔離了。

把敏感信息寫入另一個(gè)文件

在更目錄創(chuàng)建一個(gè).env,具體的格式如下,初始化你的變量

# ============================================================
#  本地開發(fā)環(huán)境變量模板
#  復(fù)制為 .env 并填入真實(shí)值:cp .env.example .env
#  spring-dotenv 會(huì)自動(dòng)加載 .env 文件
# ============================================================

# -------- MySQL --------
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_DB=blog
MYSQL_USER=root
MYSQL_PASSWORD=your_password

# -------- Redis --------
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=

# -------- 郵箱 --------
MAIL_HOST=smtp.qq.com
MAIL_USERNAME=your_email@qq.com
MAIL_PASSWORD=your_smtp_auth_code

# -------- 博客地址 --------
BLOG_URL=http://localhost:1314/

# -------- 搜索模式 (mysql / elasticsearch) --------
SEARCH_MODE=mysql

# -------- 文件上傳 (local / oss / cos) --------
UPLOAD_STRATEGY=oss
OSS_URL=https://your-bucket.oss-cn-beijing.aliyuncs.com/
OSS_ENDPOINT=oss-cn-beijing.aliyuncs.com
OSS_BUCKET=your-bucket
OSS_ACCESS_KEY_ID=your_key
OSS_ACCESS_KEY_SECRET=your_secret

# -------- Elasticsearch --------
ES_ENABLED=false

# -------- 第三方登錄(可選)--------
OAUTH_GITEE_CLIENT_ID=
OAUTH_GITEE_CLIENT_SECRET=
OAUTH_GITHUB_CLIENT_ID=
OAUTH_GITHUB_CLIENT_SECRET=
OAUTH_QQ_APP_ID=
OAUTH_QQ_APP_KEY=

# -------- AI(可選)--------
AI_API_KEY=
AI_API_URL=https://api.deepseek.com/chat/completions
AI_MODEL=deepseek-chat

項(xiàng)目運(yùn)行的時(shí)候使用這個(gè)文件即可。

項(xiàng)目啟動(dòng)使用.env

1. 打開Edit Configurations..

2. 打開Modify options

3. 勾選

4. 選擇文件

這樣就可以直接使用.env上傳文件,yml安心上傳到倉庫

到此這篇關(guān)于idea使用.env運(yùn)行SpringBoot項(xiàng)目的文章就介紹到這了,更多相關(guān)使用.env運(yùn)行SpringBoot項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring security中的授權(quán)

    Spring security中的授權(quán)

    本篇為大家?guī)鞸pring security的授權(quán),首先要理解一些概念,有關(guān)于:權(quán)限、角色、安全上下文、訪問控制表達(dá)式、方法級(jí)安全性、訪問決策管理器,這篇文章主要介紹了Spring security中的授權(quán),需要的朋友可以參考下
    2024-01-01
  • IDEA斷點(diǎn)調(diào)試,斷點(diǎn)不起作用的解決

    IDEA斷點(diǎn)調(diào)試,斷點(diǎn)不起作用的解決

    這篇文章主要介紹了IDEA斷點(diǎn)調(diào)試,斷點(diǎn)不起作用的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Spring Aop基本流程原理示例詳解

    Spring Aop基本流程原理示例詳解

    這篇文章主要給大家介紹了關(guān)于Spring Aop基本流程原理的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java文件、文件夾權(quán)限修改的兩種方法

    Java文件、文件夾權(quán)限修改的兩種方法

    這篇文章主要給大家介紹了關(guān)于Java文件、文件夾權(quán)限修改的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • IDEA如何自動(dòng)生成serialVersionUID的設(shè)置

    IDEA如何自動(dòng)生成serialVersionUID的設(shè)置

    這篇文章主要介紹了IDEA如何自動(dòng)生成 serialVersionUID 的設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • SpringBoot整合neo4j使用詳解

    SpringBoot整合neo4j使用詳解

    這篇文章將和大家詳細(xì)聊聊如何在springboot應(yīng)用中集成和使用neo4j,文中有詳細(xì)的實(shí)現(xiàn)流程和實(shí)例代碼,具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • Java通過SSH連接路由器輸入命令并讀取響應(yīng)的操作方法

    Java通過SSH連接路由器輸入命令并讀取響應(yīng)的操作方法

    最近需要讀取和修改華為路由器的配置,使用Java語言開發(fā),通過SSH連接,輸入命令并讀取響應(yīng),接下來通過本文給大家介紹下Java通過SSH連接路由器,輸入命令并讀取響應(yīng),需要的朋友可以參考下
    2024-01-01
  • Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之健身俱樂部管理系統(tǒng)的實(shí)現(xiàn)

    Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之健身俱樂部管理系統(tǒng)的實(shí)現(xiàn)

    這是一個(gè)使用了java+SSM+Mysql+Jsp開發(fā)的健身俱樂部管理系統(tǒng),是一個(gè)畢業(yè)設(shè)計(jì)的實(shí)戰(zhàn)練習(xí),具有俱樂部管理該有的所有功能,感興趣的朋友快來看看吧
    2022-02-02
  • 如何用java編寫一個(gè)rmi

    如何用java編寫一個(gè)rmi

    RMI能讓一個(gè)Java程序去調(diào)用網(wǎng)絡(luò)中另一臺(tái)計(jì)算機(jī)的Java對(duì)象的方法,那么調(diào)用的效果就像是在本機(jī)上調(diào)用一樣。下面我們來詳細(xì)了解一下吧
    2019-06-06
  • SpringBatch結(jié)合SpringBoot簡(jiǎn)單使用實(shí)現(xiàn)工資發(fā)放批處理操作方式

    SpringBatch結(jié)合SpringBoot簡(jiǎn)單使用實(shí)現(xiàn)工資發(fā)放批處理操作方式

    這篇文章主要介紹了SpringBatch結(jié)合SpringBoot簡(jiǎn)單使用實(shí)現(xiàn)工資發(fā)放批處理操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評(píng)論

闵行区| 定州市| 治多县| 洞口县| 闽清县| 赤壁市| 定远县| 东海县| 蒲城县| 沂源县| 奉贤区| 岑巩县| 兴宁市| 忻州市| 哈密市| 东丽区| 新晃| 蕲春县| 遂川县| 清苑县| 界首市| 长垣县| 子洲县| 依兰县| 永安市| 徐州市| 太湖县| 兰西县| 三门峡市| 石泉县| 西贡区| 花垣县| 平舆县| 舟山市| 莱阳市| 永年县| 罗甸县| 鄂伦春自治旗| 交城县| 独山县| 黎川县|