SpringBoot 配置Druid:不顯示SQL監控 —(*) property for user to setup

  題外話: SpringBoot整合Druid 請查看https://www.cnblogs.com/JealousGirl/p/druid.htmlhtml

  Druid登陸後數據源頁面、SQL監控等不顯示數據信息。具體狀況以下:spring

  

  

  搜索到的解決方案各式各樣。mybatis

  前提條件:框架

  1. 配置文件中的druid的配置參數信息格式是否有錯誤, 是否全都是spring.datasource.*    ide

  2. 配置統計攔截的filters是否寫的正確。日誌框架與項目採用的日誌框架格式保證一致。以下圖紅框標註處:測試

  

  在保證以上內容一致的狀況下。出現SQL監控不顯示數據問題解決方案以下。ui

  1. 更改前代碼(我是配置多數據源,故有@Primary)url

1     @Bean(name = "oneDataSource") 2     @ConfigurationProperties(prefix = "spring.datasource.one") 3  @Primary 4     public DataSource oneDataSource() { 5         return DataSourceBuilder.create().build(); 6     }
View Code

     更改後代碼spa

 1     @Value("${spring.datasource.one.name}")  2     private String oneName;  3 
 4     @Value("${spring.datasource.one.url}")  5     private String oneUrl;  6 
 7     @Value("${spring.datasource.one.username}")  8     private String oneUsername;  9 
10     @Value("${spring.datasource.one.password}") 11     private String onePassword; 12 
13     @Value("${spring.datasource.one.driver-class-name}") 14     private String oneDriverClassName; 15 
16     @Value("${spring.datasource.one.initialSize}") 17     private String oneInitialSize; 18 
19     @Value("${spring.datasource.one.minIdle}") 20     private String oneMinIdle; 21 
22     @Value("${spring.datasource.one.maxActive}") 23     private String oneMaxActive; 24 
25     @Value("${spring.datasource.one.maxWait}") 26     private String oneMaxWait; 27 
28     @Value("${spring.datasource.one.timeBetweenEvictionRunsMillis}") 29     private String oneTimeBetweenEvictionRunsMillis; 30 
31     @Value("${spring.datasource.one.minEvictableIdleTimeMillis}") 32     private String oneMinEvictableIdleTimeMillis; 33 
34     @Value("${spring.datasource.one.validationQuery}") 35     private String oneValidationQuery; 36 
37     @Value("${spring.datasource.one.filters}") 38     private String oneFilters; 39 
40     @Value("{spring.datasource.one.logSlowSql}") 41     private String oneLogSlowSql; 42 
43     @Value("${spring.datasource.one.type}") 44     private String oneType; 45 
46     @Value("{spring.datasource.one.maxIdle}") 47     private String oneMaxIdle; 48 
49  @Bean 50  @Primary 51     public DataSource oneDataSource() { 52         DruidDataSource datasource = new DruidDataSource(); 53 
54  datasource.setUrl(oneUrl); 55  datasource.setUsername(oneUsername); 56  datasource.setPassword(onePassword); 57  datasource.setDriverClassName(oneDriverClassName); 58 
59         //configuration
60         if (StringUtils.isNotBlank(oneInitialSize)) { 61  datasource.setInitialSize(Integer.parseInt(oneInitialSize)); 62  } 63         if (StringUtils.isNotBlank(oneMinIdle)) { 64  datasource.setMinIdle(Integer.parseInt(oneMinIdle)); 65  } 66         if (StringUtils.isNotBlank(oneMaxActive)) { 67  datasource.setMaxActive(Integer.parseInt(oneMaxActive)); 68  } 69         if (StringUtils.isNotBlank(oneMaxWait)) { 70  datasource.setMaxWait(Integer.parseInt(oneMaxWait)); 71  } 72         if (StringUtils.isNotBlank(oneTimeBetweenEvictionRunsMillis)) { 73  datasource.setTimeBetweenEvictionRunsMillis(Integer.parseInt(oneTimeBetweenEvictionRunsMillis)); 74  } 75         if (StringUtils.isNotBlank(oneMinEvictableIdleTimeMillis)) { 76  datasource.setMinEvictableIdleTimeMillis(Integer.parseInt(oneMinEvictableIdleTimeMillis)); 77  } 78 
79  datasource.setValidationQuery(oneValidationQuery); 80         datasource.setTestWhileIdle(true); 81         datasource.setTestOnBorrow(false); 82         datasource.setTestOnReturn(false); 83         try { 84  datasource.setFilters(oneFilters); 85         } catch (SQLException e) { 86  e.printStackTrace(); 87  } 88         return datasource; 89     }
View Code

 

  也有其餘地方搜索到的解決方案,親身測試後,使用手動配置數據信息時未發現有不一樣,你們能夠嘗試一下,一塊兒分享。日誌

  方案一:有人說是包引入錯誤

  

  改成

  

  方案二: 有人說是未配置監控攔截的filters(以上截圖中有此配置,故再也不截圖)

  

  至於爲何使用註解配置的數據信息不顯示SQL監控等信息,目前還未找到緣由。也搜到了相關解決方案,具體以下,很惋惜嘗試後未解決。。。

  方案一: 若是是jpa引入jar包, 若是是是mybatis 在@Bean後加上init屬性。 個人是mybatis

  

  

  多是我沒有寫初始化和銷燬方案,因此纔會報錯吧。  問題是我也不知道咋寫啊 

相關文章
相關標籤/搜索