如何用CGLIB拦截Java.sql.Statement而不修改源代码?

使用 CGLIB 拦截 Java.sql.Statement

问题:

如何拦截 Java.sql.Statement 类,无需修改源代码且使用 CGLIB 实现增强?

答案:

代理 Connection 对象,并返回代理 Statement 对象即可。通过修改数据源的 getConnec

tion 方法,无需修改业务代码即可实现拦截。