2022-06-07 153 字 1 分钟MyBatis-Plus代码生成器解析# MyBatis-Plus 代码生成器解析 一开始用 mybatis 的时候,感觉 mybatis-plus 就是一个投机取巧的东西 (因为当时看了不知一篇 CSDN 文章,说它怎么怎么不符合 MyBatis 的思想之类的), 但是归根到底,我也是写不出 mybatis-plus 的这种代码的,还没有到这种高度,就老老实实地学吧 代码more...
2022-06-05 6.5k 字 6 分钟动态代理实现原理# 动态代理实现原理 要想知道 AOP 的实现原理,首先要把动态代理给搞清楚,动态代理又分为 JDK 动态代理和 CGLIB 代理,下面,就来讲一下这两种动态代理 # JDK 动态代理 JDK 动态代理,顾名思义是 JDK 提供的一项功能,它的实现方式是 运行时织入 ,性能有一定损失,但是不需要特殊的编译器与类加载器 JDK 动态代理需要一个被代理的接口与实现接口的类,之后新建一个代理对象并实现 InvocationHandler 接口,通过 Proxy.newProxyInstance ()...more...
2022-06-03 6.5k 字 6 分钟Mapper的映射与注入# MyBatis-Spring 的整合 mybatis 和 spring 的整合需要先注入 SqlSessionFactoryBean 和 MapperScannerConfigurer, 那么这两个类的作用是什么呢? # MyBatis 的执行流程 12345678910void test() { InputStream inputStream = Resources.getResourceAsStream("classpath:mybatis-config.xml"); SqlSessionFactory...more...
2022-06-03 301 字 1 分钟标签组成和关系# HTML 标签组成和关系 # HTML 标签的结构 标签由 <,> , / 与英文单词或字母组成,并把标签中 <> 包括起来的英文单词或字母成为标签 常见标签由两部分组成,称为双标签,前部分叫开始标签,后部分叫结束标签,两部分之间包裹内容 少数标签由一部分组成,我们称之为:但标签,自成一体,无法包裹内容 # HTML 标签的关系 父子关系 (嵌套关系) 123<head> <title>this is a...more...
2022-05-24 442 字 1 分钟忘记root密码怎么办# 忘记 root 密码怎么办 我使用的是 Ubuntu20.04, 且运行在 VMware 虚拟机环境中,其他 Linux 发行版可能个别按键不一样,但是大体思路都是一样的 # 方法① 重启 Linux 系统,并长按 Esc 按键,直到弹出如下界面 选择`Advanced options for Ubuntu` 选择第二个(太长了不打字了) 等待一分钟左右,便会跳转到以下界面 选择 `Drop to root shell prompt` 随后就可以输入新的 root 密码啦 # 方法② 重启 Linux 系统,并长按 Esc...more...
2022-05-23 289 字 1 分钟JUnit使用# Junit 使用 # Junit 使用步骤 定义一个测试类 (测试用例) 建议 : 测试类名:被测试的类名 + Test CalculatorTest 包名 : xxx.xxx.xx.test com.wong.test 定义测试方法:可以独立运行 建议 : 方法名 : test 测试的方法名 testAdd () 返回值 : void 参数列表:空参 给方法加 @Test 导入 junit 依赖环境 判定结果 : 红色:失败 绿色:成功 一般我们会使用断言操作来处理结果 Assert.assertEquals (期望的结果,运算的结果); 补充...more...
2022-05-23 1k 字 1 分钟反射# 反射 反射:框架设计的灵魂 框架:半成品软件。可以在框架的基础上进行软件开发,简化编码 反射:将类的各个组成部分封装为其他对象 好处 : 可以在程序运行过程中,操作这些对象 可以解耦,提高程序的可扩展性 获取 Class 对象的方式 : Class.forName ("全类名") : 将字节码文件加载进内存,返回 class 对象 多用于配置文件,将类名定义在配置文件中,读取文件,加载类 类名.class : 通过类名的属性 class 获取 多用于参数的传递 对象.getClass () : 此方法在 Object...more...
2022-05-23 1.5k 字 1 分钟Servlet# Servlet # 执行原理 : 当服务器接收到客户端浏览器的请求后,会解析请求 url 路径,获取访问的 servlet 的子资源路径 查找 web, xml, 是否有对应的标签体内容 如果有,则在找到对应的全类名 tomcat 会将字节码文件加载进内存,并且创建其对象 调用其方法 # Servlet 中的生命周期方法 : 被创建:执行 init 方法,只执行一次 默认情况下,第一次被访问时,Servlet 被创建 可以配置执行 Servlet 的创建时机 (zai标签下配置) ①...more...
2022-05-23 3.3k 字 3 分钟按键计数器# 自制按键计数器 # 思路 独立按键按下一次代表一次数据 主函数不断循环 每一次循环都会检测按键是否被按下 (原来想尝试外部中断 0 的方法 也就是没隔一段时间检测一次键盘是否被按下 但是如果使用 P32 短接 GND 的话 就太麻烦了 软件控制电平来触发外部中断的话 还不如学到计时器的时候用终端 1 要简单的多) 如果被按下 计数器加一 并且在数码管上面显示出来 当位数多起来时 就用动态显示来实现 # 遇到的问题 这过程中遇到很多问题 最多的问题就是数码管的残影问题和代码逻辑问题😂 # 数码管残影 残影最开始出现的时候 我一度认为是我的代码写错了 (当然 代码写错的确有可能导致显示错误)...more...
2022-05-23 185 字 1 分钟数码管编码表# 数码管编码表 # 共阴极数字及字母 char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; # 单个数码管位置编码 char code location[] = {0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};more...