SpringBoot配置druid(yml配置和properties配置)


目錄

yml配置

properties配置

yml配置

<properties>
        <java.version>1.8</java.version>
        <mysql.version>5.1.47</mysql.version>
        <druid.version>1.1.14</druid.version>
    </properties>

        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql.version}</version>
            </dependency>

            <dependency>
                <!--自動配置-->
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid.version}</version>
            </dependency>

        </dependencies>
spring:
  datasource:
    url: jdbc:mysql://ip:port/數據庫?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
    username: root
    password: 
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      #初始化大小
      initialSize: 5
      #最小值
      minIdle: 5
      #最大值
      maxActive: 20
      #最大等待時間,配置獲取連接等待超時,時間單位都是毫秒ms
      maxWait: 60000
      #配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接
      timeBetweenEvictionRunsMillis: 60000
      #配置一個連接在池中最小生存的時間
      minEvictableIdleTimeMillis: 300000
      validationQuery: SELECT 1 FROM DUAL
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      poolPreparedStatements: true
      # 配置監控統計攔截的filters,去掉后監控界面sql無法統計,
      #'wall'用於防火牆,SpringBoot中沒有log4j,我改成了log4j2
      filters: stat,wall,log4j2
      #最大PSCache連接
      maxPoolPreparedStatementPerConnectionSize: 20
      useGlobalDataSourceStat: true
      # 通過connectProperties屬性來打開mergeSql功能;慢SQL記錄
      connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
      # 配置StatFilter
      web-stat-filter:
        #默認為false,設置為true啟動
        enabled: true
        url-pattern: "/*"
        exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
      #配置StatViewServlet
      stat-view-servlet:
        url-pattern: "/druid/*"
        #允許那些ip
        allow: 127.0.0.1
        login-username: admin
        login-password: 123456
        #禁止那些ip
        deny: 192.168.1.102
        #是否可以重置
        reset-enable: true
        #啟用
        enabled: true

 

properties配置

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
        </dependency>
        <!--自啟動Druid管理后台-->
                <dependency>
                    <groupId>com.alibaba</groupId>
                    <artifactId>druid-spring-boot-starter</artifactId>
                    <version>1.1.10</version>
                </dependency>
### db config ###
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/XXX?useUnicode=true&characterEncoding=utf8&currentSchema=public
spring.datasource.username=postgres
spring.datasource.password=XXX
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.hbm2ddl.auto=update
#config druid
#連接池的設置
#初始化時建立物理連接的個數
spring.datasource.druid.initial-size=5
#最小連接池數量
spring.datasource.druid.min-idle=5
#最大連接池數量 maxIdle已經不再使用
spring.datasource.druid.max-active=20
#獲取連接時最大等待時間,單位毫秒
spring.datasource.druid.max-wait=60000
#申請連接的時候檢測,如果空閑時間大於timeBetweenEvictionRunsMillis,執行validationQuery檢測連接是否有效。
spring.datasource.druid.test-while-idle=true
#既作為檢測的間隔時間又作為testWhileIdel執行的依據
spring.datasource.druid.time-between-eviction-runs-millis=60000
#銷毀線程時檢測當前連接的最后活動時間和當前時間差大於該值時,關閉當前連接
spring.datasource.druid.min-evictable-idle-time-millis=30000
#用來檢測連接是否有效的sql 必須是一個查詢語句
#mysql中為 select 'x'
#oracle中為 select 1 from dual
spring.datasource.druid.validation-query=select 'x'
#申請連接時會執行validationQuery檢測連接是否有效,開啟會降低性能,默認為true
spring.datasource.druid.test-on-borrow=false
#歸還連接時會執行validationQuery檢測連接是否有效,開啟會降低性能,默認為true
spring.datasource.druid.test-on-return=false
#當數據庫拋出不可恢復的異常時,拋棄該連接
spring.datasource.druid.exception-sorter=true
#是否緩存preparedStatement,mysql5.5+建議開啟
#spring.datasource.druid.pool-prepared-statements=true
#當值大於0時poolPreparedStatements會自動修改為true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
#配置擴展插件
spring.datasource.druid.filters=stat,wall
#通過connectProperties屬性來打開mergeSql功能;慢SQL記錄
spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
#合並多個DruidDataSource的監控數據
spring.datasource.druid.use-global-data-source-stat=true
#設置訪問druid監控頁的賬號和密碼,默認沒有
#spring.datasource.druid.stat-view-servlet.login-username=admin
#spring.datasource.druid.stat-view-servlet.login-password=admin

### mybatis config ###
mybatis.config-locations=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml
mybatis.type-aliases-package=com.jrsc.supervisor.model
### log config ###
logging.config=classpath:logback-spring.xml

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM