Springboot整合Druid資料來源
阿新 • • 發佈:2018-12-18
yml檔案
spring: datasource: url: jdbc:mysql://localhost:3306/test?characterEncoding=utf8 username: root password: 123456 type: com.alibaba.druid.pool.DruidDataSource initialSize: 5 maxActive: 20 maxWait: 60000 minIdle: 5 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: SELECT 'x' testWhileIdle: true testOnBorrow: false testOnReturn: false # 配置監控統計攔截 filters: stat,wall connectionProperties: druid.stat.mergeSql=true,druid.stat.slowSqlMillis=5000 useGlobalDataSourceStat: true
java DruidConfig
@Configuration public class DruidConfig { @ConfigurationProperties(prefix = "spring.datasource") @Bean public DataSource druid() { return new DruidDataSource(); } /** * 向容器新增狀態檢視servlet * * @return */ @Bean public ServletRegistrationBean<Servlet> statViewServlet() { ServletRegistrationBean<Servlet> bean = new ServletRegistrationBean<>(new StatViewServlet(), "/druid/*"); Map<String, String> map = new HashMap<>(); map.put("loginUsername", "admin"); map.put("loginPassword", "123456"); map.put("allow", "");// 預設允許所有訪問 bean.setInitParameters(map); return bean; } /** * 向容器新增web狀態過濾器 * * @return */ @Bean public FilterRegistrationBean<Filter> webStatFilter() { FilterRegistrationBean<Filter> bean = new FilterRegistrationBean<>(); bean.setFilter(new WebStatFilter()); Map<String, String> map = new HashMap<>(); map.put("exclusions", "*. js ,*. gif ,*. jpg ,*. png ,*. css ,*. ico ,/druid/*"); bean.setInitParameters(map); bean.setUrlPatterns(Arrays.asList("/*")); return bean; } }
以 localhost:port/context/druid 訪問控制檯,登入名為admin,密碼為123456