使用注解的形式配置druid数据库连接池监控

简单搜索了一下,网上的连接池的监控大多数都是基于配置文件的。其实我自己思考了一下,基于配置文件的做法其实比较优雅,并且druid官方git上的介绍也是基于xml配置文件处理的。但是为了有更多选择,还是简单记录一下基于filter和servlet注解的druid监控配置。

首先是配置filter,实际就是利用Servlet 3.0的filter注解,配置一个filter。

package com.test.filter;

import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;

import com.alibaba.druid.support.http.WebStatFilter;

@WebFilter(  
        filterName="druidWebStatFilter",urlPatterns="/*",  
        initParams={  
                /** 忽略资源 */  
                @WebInitParam(name="exclusions", value="*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/static/*"),  
                @WebInitParam(name="profileEnable",value="true"),
                /** 监控当前COOKIE的用户 */
                @WebInitParam(name="principalCookieName",value="USER_COOKIE"),
                /** 监控当前SESSION的用户 */
                @WebInitParam(name="principalSessionName",value="USER_SESSION"),
                /** 监控单个url访问数据库情况 */
                @WebInitParam(name = "profileEnable",value = "true")
        }
)  
public class DruidStatFilter extends WebStatFilter { 

}  

接下来基于Servlet注解配置一个Servlet类

package com.xin.routdata.web;

import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;

import com.alibaba.druid.support.http.StatViewServlet;

@SuppressWarnings("serial")  
@WebServlet(urlPatterns="/druid/*",  
        initParams={  
                /** 白名单,如果不配置或value为空,则允许所有 */  
                @WebInitParam(name="allow",value=""),  
                /** 黑名单,与白名单存在相同IP时,优先于白名单 */  
                @WebInitParam(name="deny",value=""),  
                /** 用户名 */  
                @WebInitParam(name="loginUsername",value="root"),  
                /** 密码 */  
                @WebInitParam(name="loginPassword",value="sunshine"),  
                /** 禁用HTML页面上的“Reset All”功能   */  
                @WebInitParam(name="resetEnable",value="false")  
        })  
public class DruidStatViewServlet extends StatViewServlet {  

} 

实际我这边做的事情就是把web.xml中的配置,使用注解的形式在filter和servlet中又配置了一遍而已。

其实在一般的Spring项目中,基于web.xml配置简单有效,直接创建filter和servlet的场景,主要是面对一些敏捷开发的环境,直接使用servlet开发了功能,忽略web.xml配置时,使用手动添加servlet和filter来处理。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个基于Java的开源框架,简化了使用Java编写企业级应用程序所需的配置和部署过程。它提供了一个简单且功能强大的方式来连接MySQL数据库,并使用Druid作为连接池管理工具,以提高数据库连接的性能和稳定性。同时,Spring Boot也提供了集成MyBatis的支持,以便于数据库访问和操作。 对于连接MySQL数据库,首先需要在项目的配置文件中配置MySQL数据库的连接信息,包括数据库的URL、用户名和密码等。然后,在Spring Boot的启动类中使用相应的注解,例如@EnableAutoConfiguration和@SpringBootApplication,来启用Spring Boot的自动配置和扫描功能。 接下来,可以通过在pom.xml文件中添加相应的依赖来引入Druid和MyBatis等库。Druid作为连接池管理工具,可以在配置文件中配置最大连接数、最小连接数等参数,以及其他高级功能如连接池监控等。MyBatis是一个优秀的ORM框架,可以通过编写XML文件或注解的方式来定义和执行数据库操作。 在编写代码时,可以使用Spring Boot提供的注解,如@Repository、@Service和@Controller等,来标记数据访问层、业务逻辑层和控制层的实现类。同时,可以使用@Mapper注解来标记MyBatis的Mapper接口,以便让Spring Boot自动创建对应的实现类,并与数据库进行交互。 总结来说,Spring Boot结合MySQL、Druid和MyBatis提供了一种简单而强大的方式来连接和操作数据库。通过配置文件和注解,可以快速搭建和部署应用程序,并实现高性能的数据库访问和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值