1. CGLIB
1.1 CGLIB简介
CGLib (Code Generation Library) 是一个强大的、高性能、高质量的 Code 生成类库。它可以在运行期扩展 Java 类与实现 Java 接口。CGLib 比 Java 的 java.lang.reflect.Proxy 类更强的在于它不仅可以接管接口类的方法,还可以接管普通类的方法。
1.2 案例
步骤:
1.创建springboot项目
2.导入相关依赖
3.创建实体类
@Component
public class Book {
public void look(){
System.out.println("看书");
}
public void study(){
System.out.println("学习");
}
}
4.创建测试类
@SpringBootTest
public class TestBook {
@Autowired
private Book book;
@Test
public void testMethod(){
System.out.println("book=" +book);
//使用CGLIB代理为Book类的方法进行增强
//CGLIB代理的原理,创建代理类的子类,因为子类拥有父类的所有方法,然后进行增强
//创建增强器(对象)