public interface IHello {
public void hello(String name);
}
public class HelloImpl implements IHello{
@Override
public void hello(String name) {
System.out.println("Hello:" + name);
}
}
package proxy;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public class LogHandler implements InvocationHandler {
private Logger logger = Logger.getLogger(this.getClass().getName());
private Object delegate;
public Object bind(Object delegate) {
this.delegate = delegate;
return Proxy.newProxyInstance(delegate.getClass().getClassLoader(), delegate.getClass().getInterfaces(), this);
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
Object result = null;
log("method starts..." + method);
result = method.invoke(delegate, args);
logger.log(Level.INFO,"methods ends ..." + method);
return result;
}
private void log(String message) {
logger.log(Level.INFO,message);
}
public static void main(String[] args) {
LogHandler logHandler = new LogHandler();
IHello helloProxy = (IHello)logHandler.bind(new HelloImpl());
helloProxy.hello("ssssssssssssss");
}
}
分享到:
相关推荐
Spring框架是Java平台上的一个轻量级应用框架,以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)而闻名。在Spring 2.0中,这些核心概念得到了强化和完善,使得开发者...
《Spring 2.0 技术手册 源代码例子》是针对Spring框架2.0版本的一份详尽参考资料,其中包含了大量的实例代码,旨在帮助开发者深入理解和掌握Spring的核心概念和功能。Spring作为Java企业级应用开发的重要框架,2.0...
- **定义**:SpringBlade是一个经过商业项目验证的SpringCloud微服务架构,该架构在原有基础上进行了全面升级,包括业务代码的重构(采用Java 8 API)以及代码规范的标准化(遵循阿里巴巴编码规范)。 - **核心技术...
Java ActiveMQ是一个开源的消息中间件,它遵循开放消息中间件协议(Open Message Broker Protocol),用于在分布式系统中高效地传输消息。在这个例子中,我们有`apache-activemq-5.9.0`的压缩包,这包含了ActiveMQ的...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 插入事务操作 9.5.8. 结合AspectJ使用 @Transactional 9.6. 编程...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.6.1. @Transactional 有关的设置 9.5.7. 插入事务操作 9.5.8. 结合AspectJ...
Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序。它提供了很多方面的功能,比如依赖注入、面向方面编程(AOP)、数据访问抽象及ASP.NET扩展等等。Spring.NET以Java版的Spring框架为...
这份手册详细介绍了Spring框架4.1.3版本中的新特性、改进和最佳实践,对于想要深入学习Spring框架的Java开发者来说,是一份不可多得的参考资料。 Spring框架是Java企业级应用程序开发的重要工具,以其模块化设计、...
根据提供的信息,我们可以总结并详细解释以下几个与Java相关的知识点: ### 一、Java基础知识 #### 1. Java语言特点 - **平台无关性**:Java程序可以在任何支持Java的平台上运行,无需重新编译。 - **面向对象**...
《Spring 技术手册》(含光盘)是 Spring 的经典书籍,全面介绍了 Spring 的概念、架构、API 使用、项目示例等方面的知识。 《Spring 2.0 宝典》(含光盘 1 张)是 Spring 的另一个经典书籍,全面介绍了 Spring 的...
Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知事务操作 9.5.9. 结合AspectJ使用 @...
9.5.2. 第一个例子 9.5.3. 回滚 9.5.4. 为不同的bean配置不同的事务语义 9.5.5. <tx:advice/> 有关的设置 9.5.6. 使用 @Transactional 9.5.7. 事务传播 9.5.8. 通知事务操作 9.5.9. 结合AspectJ使用 @...
Spring框架是Java开发中不可或缺的一部分,它以IoC(Inversion of Control)和AOP(Aspect Oriented Programming)为核心理念,极大地简化了企业级应用的开发。本篇将深入解析Spring框架的配置机制,主要围绕默认...
JavaServer Pages(JSP)是Java平台上的一个标准组件,用于创建动态网页。它结合了HTML、脚本语言(如JavaScript)和Java代码,允许开发者在服务器端生成HTML内容,提供与Web服务器交互的能力。JSP自1999年推出以来...
【标题】"Java/Java Web参考文档"是一个涵盖了Java编程语言和Java Web开发技术的综合资源,旨在为开发者提供详尽的指导和帮助。这个压缩包可能包含了一份关于DHTML(Dynamic HTML)的中文参考手册,这对于理解如何在...
总之,《Java Web开发学习手册》项目源码是一个全面的实践教程,它涵盖了从基本的JSP和Servlet到高级的MVC架构和数据库交互。通过深入研究这个项目,你可以提升自己的Java Web开发技能,更好地应对实际项目的需求。
《Pro Spring 3》不仅是一本技术手册,更是一部深入浅出的学习指南。它不仅涵盖了Spring框架的所有核心特性和功能,还提供了丰富的实践案例和最佳实践建议,非常适合希望深入了解Spring框架并应用于实际项目中的...
Struts2是一个强大的Java web应用程序框架,用于构建和部署企业级的MVC(Model-View-Controller)应用。它的设计目标是提供一个架构,使开发者能够更方便地创建可维护、可扩展且易于测试的web应用程序。这个"Struts...