1. 程式人生 > 實用技巧 >SpringBoot配置druid(yml配置和properties配置)

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