- 博客(6)
- 收藏
- 关注
原创 吃透Spring事务机制
解析自定义标签Spring通过注解开启事务的XML配置 <context:property-placeholder location="classpath:META-INF/jdbc.properties" /> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName"
2020-07-23 17:38:38 587
原创 Spring集成Mybatis
SqlSessionFactoryBean配置<bean id="dataSources" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="${jdbc.driver}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="user" value="${j
2020-07-08 08:50:51 156
原创 Spring中的两种代理模式的实现原理
代理模式Jdk动态代理通过反射机制,创建一个代理类对象实例并返回。用户进行方法调用时使用创建代理对象时,需要传递该业务类的类加载器(用来获取业务实现类的元数据,在包装方法是调用真正的业务方法)、接口、handler实现类,被代理的对象必须实现了某一个接口。public <T> T getProxy(T target) { return (T) Proxy.newProxyInstance(target.getClass().getClassLoader(), target.ge
2020-07-06 16:41:27 1879 1
原创 Spring中AOP应用原理
AOP简介概念切面(Aspect) :官方的抽象定义为“一个关注点的模块化,这个关注点可能会横切多个对象”。连接点(Joinpoint) :程序执行过程中的某一行为。通知(Advice) :“切面”对于某个“连接点”所产生的动作。切入点(Pointcut) :匹配连接点的断言,在AOP中通知和一个切入点表达式关联。目标对象(Target Object) :被一个或者多个切面所通知的对象。织入(Weaving):将切面应用到目标对象从而创建一个新的代理对象的过程。AOP代理(AOP Proxy
2020-07-03 14:51:52 183
原创 Spring循环依赖与三级缓存
一、什么是循环依赖。现在有A类和B类,A持有B的引用,B持有A的引用,这就是循环依赖。如果没有Spring,我们又是如何去解决循环依赖呢。@Test public void testCircle() throws Exception { TestA a = new TestA(); TestB b = new TestB(); b.setTestA(a); a.setTestB(b); }二、Spring实现循环依赖原理spring解决循环依赖也是如此,首先暴露一个未初始化的
2020-07-01 10:01:57 4888 2
原创 mybatis一级缓存和二级缓存分析
在创建SqlSession时,根据mybatis配置为SqlSession生成一个执行器Executor,通过SqlSession的getMapper获取代理对象,执行查询方法时,实际上去调用Executor的query去进行。Executor接口有两个比较重要的实现CachingExecutor和BaseExecutor,CachingExecutor拥有一个被代理的BaseExecutor属性,CachingExecutor有一个作用就是执行BaseExecutor之前,可以进行二级缓存使用。在使用默认
2020-06-15 20:48:14 269 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人