springboot整合druid数据源

tech2022-08-15  156

1. pom.xml配置

<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!--druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.8</version> </dependency>

2. yml配置数据源

spring: datasource: url: jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8 username: root password: 123456 driver-class-name: com.mysql.cj.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 poolPreparedStatements: true # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 filters: stat,wall,log4j maxPoolPreparedStatementPerConnectionSize: 20 useGlobalDataSourceStat: true connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

3. druid配置

@Configuration public class DruidConfig { //1.将 druid数据源 配置的属性和 属性文件绑定在一起 @ConfigurationProperties(prefix = "spring.datasource") @Bean public DataSource druidDataSource(){ return new DruidDataSource(); } //配置Druid的监控 @Bean public ServletRegistrationBean statViewServlet(){ ServletRegistrationBean bean=new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); Map<String,String> map=new HashMap<>(); map.put("loginUsername","admin"); map.put("loginPassword","123456"); //不写或者为null,默认允许所有 map.put("allow","127.0.0.1"); map.put("deny",""); bean.setInitParameters(map); return bean; } //3.配置一个监控的Filter @Bean public FilterRegistrationBean webStatFilter(){ FilterRegistrationBean initParam=new FilterRegistrationBean(); initParam.setFilter(new WebStatFilter()); Map<String, String> map=new HashMap<>(); //初始化不拦截请求的参数,不统计 map.put("exclusions","*.css,*.png,*.jpg,*.js,/druid/*"); initParam.setInitParameters(map); return initParam; } }

4. 访问监控页面

http://localhost:8080/druid

最新回复(0)