- 博客(16)
- 收藏
- 关注
原创 生成随机密码
原文地址:https://blog.csdn.net/qingquanyingyue/article/details/106336742,在此基础上修改的。重置密码是比较常见的操作,通常要求生成比较复杂的随机密码,比如要求长度九位,并且包含数字、大小写和特殊字符。
2023-08-01 16:44:42
228
1
原创 Mybatis创建Mapper接口实现类
在Mybatis的开发过程中,程序员更加关注Mapper接口中的方法以及文件的编写。但是我们仅仅只是写了一个方法名和Sql语句,并且接口是不能被实例化的,那么Mybatis是如何通过Mapper接口来执行对应的Sql语句呢?其实是在运行过程中Mybatis通过动态代理的方式创建了Mapper接口的实现类。
2023-05-21 16:33:20
1331
原创 Mybatis的开发步骤
Mybatis是一个ORM类型框架,解决的数据库访问和操作的问题,对现有JDBC技术的封装。MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。(官方介绍)官网文档地址。
2023-05-19 23:41:57
93
原创 Mybatis源码分析
对象用于解析XML文件,解析xml文件的方式常见有三种,包括DOM方式、SAX方式、XPath方式,这里采用的是XPath。方法用于解析mybatis-config.xml文件流,转为为Configuration对象。方法中,这里首先会判断是否开启二级缓存,如果开启二级缓存。这里判断是否开启二级缓存,采用了装饰器设计模式,如果二级缓存没有命中或没有开启二级缓存,就会执行。方法中,在第一步Mybatis初始化过程中就将。标签中的子标签,这里需要重点看一下。文件,而Mybatis在解析。
2023-05-19 23:23:04
152
原创 Mybatis一级缓存
Mybatis一个SqlSession对象中创建一个本地缓存localCache,在二级缓存不命中情况下,对于每一次查询,都会尝试去本地缓存中查找当前查询Sql的结果数据,如果在缓存中,就直接从缓存中取出,然后返回给用户;否则,从数据库读取数据,将查询结果存入缓存并返回给用户。Mybatis查询数据顺序:二级缓存 ---> 一级缓存 ---> 数据库一级缓存是SQLSession级别的,每一个SqlSession会创建一个一级缓存,两个不同的SqlSession执行同一个查询Sql也是查询各自的一级缓存。
2023-05-19 23:14:12
2077
原创 Java中的retry标记
可以跳到retry标记的最外层循环,继续执行最外层循环的下一次遍历。类的源码时,发现线程池在添加工作线程时用到了。可以直接跳出retry标记的最外层循环。这个字段,记录一下用法。
2023-04-14 11:47:56
170
原创 Spring解决scope为prototype注入失效
的多例对象会注入失效,每次调用多例对象不会创建新的,因为单例对象只创建一次,所以每次获取的多例对象都是同一个;但是直接Spring容器中获取对象,每次获取的对象是不同的。都是不同的,所以可以让Spring容器来完成。中注入Bean工厂,从而从工厂中获取。是多例对象,就会出现注入失效的问题。每次从Spring容器中获取多例的。
2023-04-13 22:12:37
358
原创 SpringAOP源码分析一
原因是因为printAge()方法中是由当前对象(原始对象)this来调用printName()方法的,所以在printAge()方法内部调用printName()方法时,也是需要获取UserServiceImpl的代理对象来执行。在执行printAge()和printName()方法前后都执行了额外功能myBefore()和myAfter()。方法,然后执行了printAge()方法,然后内部执行了printName()方法,然后执行了额外功能。的用途,还是上面的代码,将原始对象。
2023-04-12 22:34:33
77
1
原创 Spring AOP编程
对于动态代理而言,没有静态代理那样手写一个代理类,所以动态代理类也就没有.class文件,JVM就不会为其分配类加载器。关系创建代理对象,原始类作为父类,代理类作为子类,这样既可以保证二者方法一致,同时在代理类中提供新的实现(额外功能+原始方法)有时候原始类没有实现任何接口,要想代理类与原始类拥有相同的接口 ,就可以通过继承实现。为及本单位的程序开发,通过过程间的的彼此协同,相互调用,完成程序的构建。为基本单位的程序开发,通过对象见得彼此协同,相互调用,完成程序的构建。对象,进而可以创建代理对象。
2023-04-12 22:33:44
66
原创 Spring AOP编程
对于动态代理而言,没有静态代理那样手写一个代理类,所以动态代理类也就没有.class文件,JVM就不会为其分配类加载器。关系创建代理对象,原始类作为父类,代理类作为子类,这样既可以保证二者方法一致,同时在代理类中提供新的实现(额外功能+原始方法)有时候原始类没有实现任何接口,要想代理类与原始类拥有相同的接口 ,就可以通过继承实现。为及本单位的程序开发,通过过程间的的彼此协同,相互调用,完成程序的构建。为基本单位的程序开发,通过对象见得彼此协同,相互调用,完成程序的构建。对象,进而可以创建代理对象。
2023-04-12 22:32:10
123
1
原创 Spring动态代理
以卖房为案例,房东向房屋中介代理自己的房子,自己只负责签合同和收钱(核心功能),其他的带看房屋、宣传(额外功能),引入房屋中介这个代理类。**类切入点:**指定特定类作为切入点(额外功能加入的位置),**静态代理:**为每一个原始类,手工编写一个代理类。**包切入点:**指定包作为额外功能加入的位置,**注意:**与操作不能用于同种类型的切入点函数。**注意:**其他的切入点函数,是为了简化。**方法切入点:**指定方法加上额外功能。**核心功能:**业务运算、DAO调用。
2023-04-12 22:30:33
330
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人