Springboot構成Druidデータソース


Springboot統合編
前言データアクセス層については、SqlでもNoSqlでもSpringBootのデフォルトではSpringDataを統合して統合管理を行い、大量の自動構成を追加し、多くの設定を遮断しています.様々なXxxTemplateとXxxRepositoryを導入し、わがチームのデータアクセス層の操作を簡素化した.
springboot2.0デフォルトはcomです.zaxxer.hikari.データソースとしてHikariDataSourceを使用します.
2.0以下のデフォルトはorgである.apache.tomcat.jdbc.pool.データソースとしてDataSourceを使用します.
Hikariの公式サイト:http://brettwooldridge.github.io/HikariCP/
HikariはJAVA分野の中で最も速いデータ接続プールと呼ばれています.接続してみてください.最初の行は彼自身がどんなにすごいか、秒殺しているかということですが、どんなに速くてもアリババがapacheのDruidに捧げていないほうがいいと思います.アリババのサービスが行き届いているので、監視センターがあり、迅速にsqlなどを位置づけることができます.
Druid公式サイト:http://druid.io/
なぜHikariCPが最も性能の良いJavaデータベース接続プールと呼ばれているのか、このブログを参照してください.
注意事項:デフォルトでcomを使用します.zaxxer.hikari.HikariDataSourceでデータソースを取得すると、例外が放出されます.タイムゾーンが間違っていると言ったら、mysqlのタイムゾーンを変更する必要があります.
SHOW VARIABLES LIKE '%time_zone%'SET GLOBAL time_zone=「+8:00」DruidデータソースApache Druid(Incubating)-カラム向けの分散型データストレージは、インタラクティブなアプリケーションに最適です
HikariDataSourceの性能は非常に高いが、アリのdruidデータソースにはデータソース管理ソフトウェアがセットされており、開発でより多く使用されている.
以前はDruidの依存関係を直接導入していました
com.alibabadruid1.1.12しかし、このような爆発的なspringbootに直面して、Druidのイニシエータに直接ではなく、私たち自身の統合が必要です.apacheでは4ヶ月前にspringbootを完璧にサポートする案が出ています.だから、私たちは上記の依存ではなく、使用しています.
×××:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
com.alibabadruid-spring-boot-starter1.1.10 YMLファイルを配置して、具体的なパラメータの配置は公式サイトに行って見ることができます:
spring:datasource:
データ・ソースの基本構成
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/duid
type: com.alibaba.druid.pool.DruidDataSource

データ・ソースのその他の構成
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true

モニタリング統計ブロックのfiltersを構成し、削除するとモニタリングインタフェースsqlは統計できません.'wall'はファイアウォールに使用されます.
filters: stat,wall
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true  
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

druid接続プールの他のプロパティを構成しましたが、有効になりません.デフォルトではjavaが使用されているためです.sql.Datasourceのクラスは属性を取得します.一部の属性datasourceはありません.構成を有効にするには、Druidのプロファイルを手動で作成する必要があります.
@ConfigurationProperties(prefix = "spring.datasource")br/>@Beanpublic DruidDataSource druidDataSource(){return new DruidDataSource();}Druidの最も強力な点は、データベースに送信されたすべてのsql文を監視できる強力な監視があることです.後でエラーを挿入するのに便利です.
次にDruidDataSourceでモニタセンターを構成します.
/**
  • 監視サーバの構成
  • @returnは、監視登録されたservletオブジェクト
  • を返します.
  • @author SimpleWubr/>*/@BeanpublicサーブレットRegistrationBean statViewサーブレット(){サーブレットRegistrationBean servletRegistrationBean=newサーブレットRegistrationBean(new Statewewサーブレット(),「/druid/*」);//IPホワイトリストservletRegistrationBean.addInitParameter("allow","127.0.0.1")を追加;//IPブラックリストを追加し、ホワイトリストとブラックリストが重複する場合、ブラックリストの優先度がより高い.addInitParameter("deny", "127.0.0.1");//コンソール管理ユーザーの追加addInitParameter("loginUsername", "SimpleWu");servletRegistrationBean.addInitParameter("loginPassword", "123456");//データをリセットできるかどうかaddInitParameter("resetEnable", "false");return servletRegistrationBean;}/**
  • サービスフィルタの構成
  • @returnフィルタ構成オブジェクトbr/>*/@Beanpublic FilterRegistrationBean statFilter(){F i l t e r RegistrationBean filterRegistrationBean=new FilterRegistrationBean(new WebStatFilter);//フィルタルールの追加filterRegistrationBean.addUrlPatterns("/");//フィルタ形式filterRegistrationBean.addInitParameter("exclusions",".js,.gif,.jpg,.png,.css,.ico,/druid/,");return filterRegistrationBean;}構成が完了したらspringbootプログラムアクセスを開始します:
  • http://localhost:8080/druid/私たちのログインページに来ることができます.私たちが追加したコンソール管理ユーザーです.私たちは運行状況をよく見ることができます.画像はスクリーンショットを貼らないのは面倒です.
    お読みいただきありがとうございます.この文書を読むのが役に立つと思ったら、「推奨」ボタンをクリックしてください.本文は皆さんの転載を歓迎しますが、文章を転載した後、文章のページに作者と原文の接続を与えなければなりません.学習には限りがない.