package com.github.yingzhuo; import com.alibaba.druid.filter.Filter; import com.alibaba.druid.filter.logging.Slf4jLogFilter; import com.alibaba.druid.filter.stat.StatFilter; import com.alibaba.druid.pool.DruidDataSource; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; import java.util.Arrays; @Configuration public class SpringConfigDataSource { @Bean @ConfigurationProperties(prefix = "spring.datasource.druid.stat-filter") public Filter statFilter() { return new StatFilter(); } @Bean @ConfigurationProperties(prefix = "spring.datasource.druid.slf4j-log-filter") public Filter slf4jLogFilter() { return new Slf4jLogFilter(); } @Bean(name = "dataSource", initMethod = "init", destroyMethod = "close") @ConfigurationProperties(prefix = "spring.datasource.druid") public DataSource dataSource() { DruidDataSource ds = new DruidDataSource(); ds.setProxyFilters(Arrays.asList( statFilter(), slf4jLogFilter() )); return ds; } }