SpringBoot 配置Druid数据源

本文介绍了如何在SpringBoot项目中配置Druid数据源,并详细讲解了添加依赖、将数据源注入容器、使用FilterRegistrationBean和ServletRegistrationBean添加Filter和Servlet,以及如何通过/druid路径访问监控页面。此外,还提到了Druid的StatViewServlet和StatViewFilter的配置及其可配置属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Druid数据源

添加相应的依赖


 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
 </dependency>


<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.12</version>
</dependency>

将数据源添加到springboot容器中

@Configuration
public class DataConfig {
    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource druid(){
        return new DruidDataSource();
    }
  //配置监控servelt
    @Bean
    public ServletRegistrationBean statViewServlet(){
        ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");

        Map<String,String> initParams = new HashMap<>();
        initParams.put("loginUsername", "admin");
        initParams.put("loginPassword", "123456");
        initParams.put("allow","");;
        initParams.put("deny", "localhost");

        bean.setInitParameters(initParams);

        return bean;
    }
//监控Filter
    @Bean
    public FilterRegistrationBean statViewFilter(){
        FilterRegistrationBean bean = new FilterRegistrationBean<>();

        bean.setFilter(new StatViewFilter());

        Map<String,String> initParams = new HashMap<>();
        initParams.put("exclusions","*.js,*.html,*.css,/druid/*");
        bean.setInitParameters(initParams);

        bean.setUrlPatterns(Arrays.asList("/*"));

        return bean;
    }
}
  • FilterRegistrationBean : SpringBoot添加Filter
  • ServletRegistrationBean : SpringBoot添加Servlet
  • 监控执行情况只需发/druid

配置数据源

spring:
  datasource:
    url: jdbc:mysql:///students
    type: com.alibaba.druid.pool.DruidDataSource
    username: *****
    password: ***** 
    driver-class-name: com.mysql.jdbc.Driver

    maxActive: 8
    initialSize: 5

因为com.alibaba.druid.pool.DruidDataSource存在对应的映射,即可以将配置文件信息与对象属性进行绑定

com.alibaba.druid.support.http.StatViewServlet

  • 监控Servlet
public class StatViewServlet extends ResourceServlet

可配置的属性

public abstract class ResourceServlet extends HttpServlet {
    private static final Log LOG = LogFactory.getLog(ResourceServlet.class);
    public static final String SESSION_USER_KEY = "druid-user";
    public static final String PARAM_NAME_USERNAME = "loginUsername";
    public static final String PARAM_NAME_PASSWORD = "loginPassword";
    public static final String PARAM_NAME_ALLOW = "allow";
    public static final String PARAM_NAME_DENY = "deny";
    public static final String PARAM_REMOTE_ADDR = "remoteAddress";

com.alibaba.druid.support.http.StatViewFilter

  • 监控Filter
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值