Springboot 1.5.10 Druidが遭遇したいくつかのピットを統合
1884 ワード
今日、プロジェクトにdruidを統合したいのは、私が使っているspringbootが比較的新しい理由(1.5.10)かもしれませんが、私が使っているプロファイルはymlタイプで、普通のPropertiesプロファイルに比べて、ymlのプロファイルは構造的な木状に並べられていて、読みやすさがいいです.私のIDEAのインテリジェントプロンプトのJDBC構成のデフォルトはtomcat接続プールです.springboot 1.5以降のデフォルトのjdbcがtomcatである可能性があるため、druid構成が有効ではありません.だから仕方なくこのような方法を選んで、自分でDataSourceクラスを書き換える工場の方法を選んで、この言い方が正しいかどうか分からないで、1つの戻り値がDataSourceの方法に@Bean注釈を加えて、SpringのSpringBeanを生成する原理によって、1つのインタフェースの実現クラスあるいは1つのクラスは1つのオブジェクトしかありません.だから私たちは自分でDataSourceを作成する方法を書いてSpringにロードさせるときに私たちが書いたインスタンスを出せばいいのです.@Primary注記は、複数のサブクラスが自動的にアセンブリされる場合に、注記されるインスタンスメソッドの優先度を高めることができ、加算することが望ましい.
#datasource
spring:
datasource:
name: dev
url: jdbc:mysql://127.0.0.1:3306/hm_crm_dev?useUnicode=true&characterEncoding=utf8
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
######################### Druid #################
type: com.alibaba.druid.pool.DruidDataSource
# ,
# , ,
initialSize: 5
minIdle: 5
maxActive: 20
#
maxWait: 60000
# , ,
timeBetweenEvictionRunsMillis: 60000
# ,
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT'x'
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# PSCache, PSCache
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# filters, sql ,'wall' , filter
filters: stat,wall,slf4j
# connectProperties mergeSql ; SQL
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# DruidDataSource
# useGlobalDataSourceStat: true