【SpringBoot】14 数据访问P2 整合Druid数据源
【SpringBoot引入Druid数据源】
在整合Jdbc的工程基础上加入这个依赖
并注册一个配置类即可
maven坐标:
<!-- https://mvnrepository.com/artifact/com.alibaba/druid --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.22</version> </dependency>
yml配置只需要在下面补加上这个数据源类型:
type: com.alibaba.druid.pool.DruidDataSource
properties配置则是这样:
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
如果需要配置关于Druid的相关参数配置
我们则需要一个自定义配置来辅助完成
由这个注解激活配置中的连接池参数配置
完整的druid配置类
因为跟什么类重名,导致启动失败,
把这个类名换成DruidConfig就行了
package cn.dai.config; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; import java.util.Arrays; import java.util.HashMap; import java.util.Map; /** * @author ArkD42 * @file SpringBoot with Jdbc * @create 2020 - 05 - 31 - 20:06 */ @Configuration public class DruidDataSourceConfig { @Bean @ConfigurationProperties(prefix = "spring.datasource") public DataSource druidDataSourceConfig(){ return new DruidDataSource(); } // 配置Druid的数据监控 // 1、配置管理后台的应用程序 Servlet @Bean public ServletRegistrationBean statViewServlet(){ ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); // 设置初始化信息,例如后台数据监控的登陆信息 Map<String,String> initParams = new HashMap<>(); initParams.put("loginUsername","admin"); initParams.put("loginPassword","654321"); //允许本地访问,如果value是""就表示允许所有 initParams.put("allow","localhost"); //也可以拒绝访问 initParams.put("deny","192.168.2.190"); bean.setInitParameters(initParams); return bean; } // 2、配置一个监控的Filter @Bean public FilterRegistrationBean webStatFilter(){ FilterRegistrationBean bean = new FilterRegistrationBean(); bean.setFilter(new WebStatFilter()); Map<String,String> initParams = new HashMap<>(); //设置排除拦截条件的资源访问 initParams.put("exclusion","*.js,*.css,/druid/*"); bean.setInitParameters(initParams); //拦截所有的请求 bean.setUrlPatterns(Arrays.asList("/*")); return bean; } }
然后我们开始访问后台:
登陆后的后台监控面板
因为其他数据源都不具备这个数据监控的功能,但是就只有阿里的有了。。。
综合考量解决方案还是阿里的更胜一筹【我不听,我不听,我只要最快,Hikari天下第一】