Spring知识点总结-3

简介:

1、被代理的类: Target.java

 
  1. public class Target { 
  2.  
  3.     public String execute() { 
  4.         String message = "Target class"
  5.         System.out.println(message); 
  6.         return message; 
  7.     } 

2、代理类:MyMethodInterceptor.java

 
  1. import net.sf.cglib.proxy.MethodInterceptor;  
  2. import net.sf.cglib.proxy.MethodProxy;  
  3.  
  4. import java.lang.reflect.Method;  
  5.  
  6. public class MyMethodInterceptor implements MethodInterceptor {  
  7.  
  8.     public Object intercept(Object object, Method method, Object[] args, MethodProxy methodProxy) throws Throwable {  
  9.         System.out.println("++Target start++");  
  10.         Object result = methodProxy.invokeSuper(object,args);  
  11.         System.out.println("++Target end++");  
  12.         return "hello";  
  13.     }  

3、测试类:TestCglibProxy.java

 
  1. import net.sf.cglib.proxy.Enhancer; 
  2.  
  3. public class TestCglibProxy { 
  4.     public Object createProxy(Class targetClass) { 
  5.         Enhancer enhancer = new Enhancer(); 
  6.         enhancer.setSuperclass(targetClass); 
  7.         enhancer.setCallback(new MyMethodInterceptor()); 
  8.         return enhancer.create(); 
  9.     } 
  10.  
  11.     public static void main(String rags[]) { 
  12.         //Target target = new Target(); 
  13.         TestCglibProxy test = new TestCglibProxy(); 
  14.         Target proxyTarget = (Target) test.createProxy(Target.class); 
  15.         String res = proxyTarget.execute(); 
  16.         System.out.println(res); 
  17.     } 

4、执行结果

 
  1. ++Target start++ 
  2. Target class 
  3. ++Target end++ 
  4. hello 

 

本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/426494,如需转载请自行联系原作者

相关文章
|
5月前
|
XML 缓存 前端开发
Spring入门系列:浅析知识点
本文介绍了学习Spring源码前需要掌握的核心知识点,包括IOC、AOP、Bean生命周期、初始化和Transaction事务。通过Hello World示例,讲解了如何使用Spring,并指出了深入了解Spring内部机制的方向。
|
2月前
|
前端开发 Java 数据格式
10个知识点让你读懂spring MVC容器
随着 Spring Boot 逐步全面覆盖到我们的项目之中,我们已经基本忘却当年经典的 Servlet + Spring MVC 的组合,那让人熟悉的 web.xml 配置。而本文,我们想先抛开 Spring Boot 到一旁,回到从前,一起来看看 Servlet 是怎么和 Spring MVC 集成,怎么来初始化 Spring 容器的。
20 1
|
2月前
|
Java 应用服务中间件 数据库连接
Spring5源码(51)-Servlet知识点回顾以及SpringMVC分析入口
Spring5源码(51)-Servlet知识点回顾以及SpringMVC分析入口
36 0
|
3月前
|
安全 Java 数据库连接
啃完这些Spring知识点,我竟吊打了阿里面试官(附面经+笔记)
对于开发同学来说,Spring 框架熟悉又陌生。 熟悉:开发过程中无时无刻不在使用 Spring 的知识点;陌生:对于基本理论知识疏于整理与记忆。导致很多同学面试时对于 Spring 相关的题目知其答案,但表达不够完整准确。
|
4月前
|
Java 数据库连接 Spring
Spring知识点总结!已整理成142页离线文档(源码笔记+思维导图)
由于Spring家族的东西很多,一次性写完也不太现实。所以这一次先更新Spring【最核心】的知识点:AOP和IOC
|
8月前
|
Java 数据库连接 Spring
Spring知识点总结!已整理成142页离线文档(源码笔记+思维导图)
由于Spring家族的东西很多,一次性写完也不太现实。所以这一次先更新Spring【最核心】的知识点:AOP和IOC
|
安全 Java Maven
Spring Boot资源文件问题总结(Spring Boot的静态资源访问,配置文件外置)
Spring Boot资源文件问题总结(Spring Boot的静态资源访问,配置文件外置)
1303 1
|
9月前
|
SQL XML Java
Spring核心知识点(四)
事务是逻辑上的一组操作,要么都执行,要么都不执行。
36 1
|
9月前
|
Java 数据库连接 数据库
Spring核心知识点(三)
Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。
74 1
|
11月前
|
Java 关系型数据库 MySQL
一文搞定SpringCloud Alibaba全部知识点! 3
一文搞定SpringCloud Alibaba全部知识点!