diff --git a/FAQ.md b/FAQ.md index ffde0ac..d831583 100644 --- a/FAQ.md +++ b/FAQ.md @@ -97,4 +97,41 @@ Druid is an open source project, hosted on github.com, you can "pull request". s (Welcome to join QQ Group: 240619787 for discuss and study Druid) # 24. How to integrate the Druid connection pool and monitoring in Spring Boot project? -Use Druid Spring Boot Starter,Documentation:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter \ No newline at end of file +Use Druid Spring Boot Starter,Documentation:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter + +# 25. How to add custom WallConfig, Filter in the Spring Boot ? + + +1. add configuration properties +```xml +spring.datasource.druid.wall.config.multiStatementAllow=false +spring.datasource.druid.wall.config.truncateAllow=true +... other +``` +2. Use Druid Spring Boot Starter ```DruidDataSourceBuilder``` +```java +@Bean +@ConfigurationProperties("spring.datasource.druid.wall.config") +public WallConfig wallConfig(){ + return new WallConfig(); +} + +@Bean +public WallFilter wallFilter(){ + WallFilter filter = new WallFilter(); + filter.setConfig(wallConfig()); + filter.setDbType("mysql"); + return filter; +} + +@Bean +public DataSource dataSource(Environment env){ + DruidDataSource dataSource = DruidDataSourceBuilder + .create() + .build(env,"spring.datasource.druid."); + List filters = new ArrayList<>(); + filters.add(wallFilter()); + dataSource.setProxyFilters(filters); + return dataSource; +} +``` \ No newline at end of file