900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 项目重构之数据源配置与优化:log4j 配置数据库连接池Druid 并

项目重构之数据源配置与优化:log4j 配置数据库连接池Druid 并

时间:2021-05-23 16:37:44

相关推荐

项目重构之数据源配置与优化:log4j 配置数据库连接池Druid 并

数据库|mysql教程

项目,重构,数据源,配置,优化,log4j,数据库,连接,D

数据库-mysql教程

软文自助发布 源码,vscode 粗体,ubuntu 搭建网站,tomcat gizp,sqlite 平均分,服务器的快慢配置,视频加载插件下载,ssm框架前端layui,c 爬虫源码,php采集框架,伯君SEO,制作充值网站,用js写的表白网页源码,网页模板用什么软件打开,css半透明遮罩层整个页面,it售后服务管理系统 开源,励志网程序lzw

作者 :泥沙砖瓦浆木匠 网站 : /jeffli1993 个人签名 : 打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节。 交流QQ群 :【编程之美 365234583】/cgi-bin/qm/qr?k=FhFAoaWwjP29_AonqzL0rpdQAjjqlHQQ 如果我的

成人用品招牌源码,vscode导入头文件,ubuntu 安装apc,tomcat图片shell,sqlite3事务详解,云的大漠插件辅助支持库,前端应该学哪个框架比较好,爬虫工作一天多久,php邮件发送代码,seo优化怎么防范,如何百度收录我的网站,网页 马赛克,bootstrap blog 模板lzw

laravel 商城系统源码,VScode中中文模糊,ubuntu查看日历,依赖tomcat包,sqlite3 历史版本,刷元宝插件,前端的框架到底是什么,请简述聚焦网络爬虫结构,php mysql 更新,乐平seo优化流程,网站表单系统,网页登录界面代码,bootstrap应用模板下载lzw

作者:泥沙砖瓦浆木匠

网站:/jeffli1993

个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节。

交流QQ群:【编程之美 365234583】/cgi-bin/qm/qr?k=FhFAoaWwjP29_AonqzL0rpdQAjjqlHQQ

如果我的帮到了你,是否乐意捐助一下或请一杯啤酒也好呢?有你支持,干的更好~

点这参与众筹 我的支付宝:13958686678

A、 前言

泥瓦匠又和大家见面了,最近两天我在Code Review ,顺便代码小小的Refactoring(重构)下。先了解这个项目吧,这次解决的是数据源配置优化。因为这web项目中配置数据源的地方很多。例如JDBC要配置数据源,Mybatis要配置数据源,Quartz定时任务要配置数据源,还有Log4j存记录到数据库也要配置…

如题目,兴许大家的疑惑看了前面的说明会明白。这次给大家带来的 数据源配置与优化:log4j 配置数据库连接池Druid。

提纲:

B、准备知识C、正文 开始动手吧、配置文件、建数据表、核心代码讲解D、结论及下载

B、准备知识

泥瓦匠也是怕自己说不清楚,又不想把Log4j 和 Durid介绍个遍。那样会太麻烦。这次主要是项目实战。所以泥瓦匠也不罗嗦知识准备这块也就是点到为止。

Log4j 简介

在应用程序中添加日志记录总的来说基于三个目的:

监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析工作;

跟踪代码运行时轨迹,作为日后审计的依据;

担当集成开发环境中的调试器的作用,向文件或控制台打印代码的调试信息。

它支持将日志信息输入到数据库,这次我们一Mysql为例说明。我们需要Log4j来将调试信息、操作信息等记录下来,以便后面的审计,这些日志信息包括用户ID、用户姓名、操作类、路径、方法、操作时间、日志信息。

Druid 简介

Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。不多多介绍了,阿里牛人作品必须精品。详细介绍在:/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

泥瓦匠的任务很简单,目的是为了数据源配置优化,实现数据源配置的唯一性。泥瓦匠也画了草图,曾经被人说成画图画出鬼画符的我告诉大家:没事,越做越好。如图,设计简单草图就是这样的。

结论:一个项目的配置文件要保持唯一性,就是数据源配置的唯一性。

C、正文 开始动手吧

开始弄吧,为了写这个东西。我就也搞了个demo项目。泥瓦匠很辛苦的,哈哈送钱的上面支付宝哦。哈哈,泡了杯水,准备说这个项目了。下面,泥瓦匠先给出这个项目的结构图,这样我待会讲起来不怎么累。逻辑性比较强吧。如图:

上面很清楚的写着我需要完成的功能模块。最后那个test,是一个测试的servlet类。大家一看就明白。我先从配置文件说起吧。

配置文件 :

dbConfig.properties 记录的是最基础的db配置:url name psd 等,代码如下:

log4j.properties则是日志的配置,但日志的配置中有一点注意的是如下:

在这里,我们要注意两点:

A、设置我们包的下的logger权限,并给予存数据库的权限。

B、db的实现的应用要为你写的引用类。

建数据表 :

然后我们要根据上面配置文件中写的数据库和表格我们要对应的建一个名为test的数据库和一张名为operate_log的表。

这样我们就可以开始写代码了,泥瓦匠是一个很细节的人。这次博客,我主要是讲下代码中的核心点。因为后面我会把项目提供给你们下载。所以,这里点到为止。

泥瓦匠说:点到为止,所谓师父领进门,修行在个人啊。

核心代码讲解:

MyJDBCAppender.java 用于Log4j的数据库Session管理[连接池用Druid]。这个肯定是我们得核心思想。这里我就继承了log4j提供的org.apache.log4j.jdbc.JDBCAppender;然后只要简单的重写了closeConnection和getConnection方法。如果获取Druid数据库源对象异常的话,我还写了个 取消初始化

的方法uninitialize。代码这边也贴出下,方便大家观看:

值得注意的一点是,泥瓦匠为了方便,所以在其中的地方没有获取druid连接池的配置。而是直接写了下面:

其实这样写是不好了,我们可以写一个druid.properties然后将连接池的配置放入其中。获取set,for循环set即可。这边我就不实现了。很简单哦,泥瓦匠相信你们。

最后我演示下,示例代码:放到tomcat7上,然后运行访问

看到控制台刷出来两条信息,因为我门设置的是log4j.logger.test=INFO, db。

然后我们去查看数据库,这边我用Navicat:

D、结论及下载

结论:重构很有意思,慢慢来,一点一点来,就行了。细节成就未来。

下载链接:

/s/1hqKN0Le

如以上文章或链接对你有帮助的话,别忘了在文章按钮或到页面右下角点击 “赞一个” 按钮哦。你也可以点击页面右边“分享”悬浮按钮哦,让更多的人阅读这篇文章

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。