<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                SpringBoot 默認的數據源為 com.zaxxer.hikari.HikariDataSource ,雖然該數據源比阿里的 Druid 性能高,但是 Druid 數據源提供了一套安全的機制和監控,所以開發中常用 Druid 而不是 Hikari。 [TOC] # 1. 切換為Druid數據源 步驟如下: **1. 引入druid-spring-boot-starter數據源** ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.8</version> </dependency> ``` **2. 切換到Druid數據源** *`resources/application.yml`* ```xml spring: datasource: username: root password: admin url: jdbc:mysql://127.0.0.1:3306/learn?useUnicode=true&characterEncoding=utf-8 driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource ``` **3. 啟動項目控制臺打印如下信息說明切換到Druid數據源了** ```xml main] c.a.d.s.b.a.DruidDataSourceAutoConfigure : Init DruidDataSource main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited ``` <br/> # 2. 自定義Druid數據源配置 我們可以在Druid數據源的基礎上添加一些自定義配置。 <br/> **1. `resources/application.yml`** ```xml spring: datasource: username: root password: admin url: jdbc:mysql://127.0.0.1:3306/learn?useUnicode=true&characterEncoding=utf-8 driver-class-name: com.mysql.jdbc.Driver 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 poo1PreparedStatements: true # 配置監控統計攔截的filters,去掉后監控界面sql無法統計,'wall 用于防火墻 filters: stat ,wall maxPoolPreparedStatementPerConnectionSize: 20 useGlobalDataSourceStat: true connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500 ``` **2. 編寫配置類** 新添加的屬性在數據源屬性類 DataSourceProperties 上是沒有的,所以我們需要自定義一個配置類,將上面這些新增的屬性生效。 ```java import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; import java.util.Arrays; import java.util.HashMap; import java.util.Map; @Configuration public class CustomDruidDataSourceConfig { /** * 讓新增的配置生效 */ @Bean @ConfigurationProperties(prefix = "spring.datasource") public DataSource druid() { return new DruidDataSource(); } /** * 配置Druid監控 */ @Bean public ServletRegistrationBean servletRegistrationBean() { //監控 /druid/ 請求 ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); Map<String, String> initParams = new HashMap<>(1); //登錄后臺的用戶名和密碼 initParams.put("loginUsername", "admin"); initParams.put("loginPassword", "123456"); //允許localhost訪問,如果不設置默認所有人可訪問 initParams.put("allow", "localhost"); //拒絕該ip地址訪問 initParams.put("deny", "192.168.15.21"); bean.setInitParameters(initParams); return bean; } /** * 配置一個過濾器 */ @Bean public FilterRegistrationBean filterRegistrationBean() { FilterRegistrationBean bean = new FilterRegistrationBean(); //注冊Filter bean.setFilter(new WebStatFilter()); Map<String, String> initParams = new HashMap<>(); //不攔截 *.js,*.css,/druid/* 請求 initParams.put("exclusions", "*.js,*.css,/druid/*"); bean.setInitParameters(initParams); // 攔截所有請求 bean.setUrlPatterns(Arrays.asList("/*")); return bean; } } ``` **3. 測試** 啟動項目后訪問 http://localhost:8080/druid/ ,輸入在 CustomDruidDataSourceConfig 中設置的用戶名和密碼就可以進入Druid后臺監控。 ![](https://img.kancloud.cn/9c/43/9c43eb4d6f618fe3460f7926a0af0fae_2256x685.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看