ContextLoaderListener解析

接上一篇:Listener(倾听者)ContextLoaderListener是啥,是谁写的?ContextLoaderListener是一个监听器由Spring编写并提供我们搭建SSM框架时,需要做的仅仅是在web.xml中配置它,一般是这样:我们常说的监听器一般是指具体的监听器对象,比如ContextLoaderListener。但这个对象怎么来的?它其实实现一个监听器接口。我们来看看Cont

- 阅读全文 -

Listener(倾听者)

终于轮到讲讲Filter、Listener,写完这两篇,关于JavaWeb我也就无话可说了。转行开发一年多了,很心疼去年浪费了这么多时间在SSM上。有一段时间,觉得自己好像什么都懂,但又什么都不懂。这种感觉是非常难受的。仿佛浑身充满了力气,却每一拳都打在棉花上。我想更深入地了解Java,写出更好更优雅的代码,结果买了书翻开的那一瞬间就发现不是自己想要的,书中所讲并没有直指我心里的疑问。我的疑问是什

- 阅读全文 -

JDBC(下)

好了,俺来终结JDBC系列了。主要内容:JdbcUtils2.0版(使用数据源)工厂模式重构------## JdbcUtils2.0版(使用数据源)在JDBC(中)我们创建了JdbcUtils1.0版,主要目的是为了抽取冗余代码,就两个功能:获取连接释放连接jdbcUtils1.0大大精简了我们的JDBC代码JdbcUtils1.0public class JdbcUtils { pr

- 阅读全文 -

自定义DataSource

在JDBC(下)我会引入DBCP或者C3P0数据源来完善JdbcUtils。所以这里插播一下。主要内容:数据源的作用为什么用代理模式/装饰者模式自定义数据源:动态代理DBCP连接池部分源码解析------## 数据源的作用之前提过,JDBC操作数据库,底层走的还是TCP协议。虽然我没专门学过计算机网络,但是也知道频繁开闭网络连接的时间开销是很大的,比如“三次握手”啥的。而数据源就是为了解决频繁创建

- 阅读全文 -

JDBC(中)

使用JDBC笼统来说,有三步:连接数据库执行SQL语句获得结果上一篇JDBC(上)我们主要讨论第一步:如何连接数据库(获取Connection),这一篇聊聊如何利用Connection进行CRUD。期间会引入部分设计模式不断重构代码,最终实现类似JDBCTemplate的模板类,方便其他类继承或组合以提高开发效率。由于篇幅有限,这里直接用PreparedStatemenet,不去讲解Stateme

- 阅读全文 -

JDBC(上)

JavaWeb的内容大致包括:Tomcat(Tomcat外传)Servlet、JSP(浅谈JSP)Session、Cookie(Cookie与Session)JDBCFilter/ListenerAJAX、JSON(AJAX与JSON)我记得18年6月开始JavaWeb系列的写作,截止目前,还剩下JDBC和Filter/Listener。速度有点超乎预期地慢...不过随着自己开发经验的增长以及对知

- 阅读全文 -

浅谈JDK动态代理(下)

介绍完JDK动态代理,今天和大家一起做个小案例:模拟Spring的事务管理。主要内容:熟悉的陌生人山寨AOP事务需求分析AOP事务具体代码实现------## 熟悉的陌生人面试官如果问“请你谈谈你对Spring的理解”,估计很多人会脱口而出:IOC和AOP。IOC大概是大家对Spring最直接的印象,就是个大容器,装了很多bean,还会帮你做依赖注入。IOC但是对于AOP,很多人其实没有太多概念,

- 阅读全文 -

浅谈JDK动态代理(中)

接上篇浅谈JDK动态代理(上)这篇文章咬咬牙能看完的话,再看其他动态代理的文章就轻松愉快多了。希望想搞懂动态代理的同学,能坚持下去。主要内容:前情提要接口创建对象的可行性分析动态代理Proxy.getProxyClass()的秘密编写可生成代理和可插入通知的通用方法类加载补充小结彩蛋文章较长,有点啰嗦了,希望看简化版的戳下方链接:Java 动态代理作用是什么?www.zhihu.com前情提要假设

- 阅读全文 -

浅谈JDK动态代理(上)

专栏最近写了多线程、ThreadLocal、注解相关的文章,这些其实都是我们迈向SSM的小碎步。我们已经离SSM越来越近了,但还不够。今天,我们仍需一起再往前走一小步:动态代理。这四个字一出来,估计很多初学者已经开始冒冷汗。动态代理之所以给人感觉很难,有三点原因:代码形式很诡异,让人搞不清调用逻辑用到了反射,而很多初学者不了解反射包含代理设计模式的思想,本身比较抽象尽管动态代理看起来似乎有一定难度

- 阅读全文 -

注解(下)

上篇讲了什么是注解,以及注解的简单使用,这篇我们一起用注解+反射模拟几个框架,探讨其中的运行原理。内容介绍:自定义Junit框架山寨JPA自定义Junit框架上一篇已经讲的很详细了,这里就直接上代码了。请大家始终牢记,用到注解的地方,必然存在三角关系,,并且别忘了设置保留策略为RetentionPolicy.RUNTIME。代码结构MyBefore注解@Retention(RetentionPol

- 阅读全文 -