背景
参考 Mybatis-Plus 实现通过Lambda的方式获取字段名、方法名、类名
// mybati plus 查询实例
this.lambdaQuery()
.eq(User::getName, dto.getName())
.eq(User::getPhone, dto.getPhone())
.list();
2024年9月2日大约 2 分钟
参考 Mybatis-Plus 实现通过Lambda的方式获取字段名、方法名、类名
// mybati plus 查询实例
this.lambdaQuery()
.eq(User::getName, dto.getName())
.eq(User::getPhone, dto.getPhone())
.list();
Servlet 原理解析
https://blog.csdn.net/qq_19782019/article/details/80292110
所有文档:https://docs.spring.io/spring-boot/docs
htmlsingle格式文档 Spring Framework Reference Documentation
public interface BeanPostProcessor {
// 总结:根据注释来看是在 新bean初始化之前回调afterPropertiesSet进行属性填充
default Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
// 总结:再任意bean初始化(如 InitializingBean 的 afterPropertiesSet 或自定义 init 方法)之后回调执行此方法
default Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
}
https://docs.gradle.com/enterprise/compatibility/
https://blog.csdn.net/java_lyvee/article/details/107300648
https://github.com/spring-projects/spring-framework/blob/main/import-into-idea.md
动态代理与静态代理的区别此处不再赘述,大家可以看马老师的设计模式视频,我们主要讲一下动态代理的实现原理,说明白原理的话肯定是要看源码了,大家不要慌,干就完了!!!
其实在使用动态代理的时候最最核心的就是Proxy.newProxyInstance(loader, interfaces, h);废话不多说,直接干源码。
动态代理的样例代码:
Calculator.java
package com.mashibing;
public interface Calculator {
public int add(int i, int j);
public int sub(int i, int j);
public int mult(int i, int j);
public int div(int i, int j);
}