Spring的通知类型:
- Around org.aopalliance.intercept.MethodInterceptor 拦截对目标对象的方法调用
- Before org.springframework.aop.BeforeAdvice 在目标方法被调用之前调用
- After org.springframework.aop.AfterReturningAdvice 在目标方法被调用之后调用
- Throws org.springframework.aop.ThrowsAdvice 当目标方法抛出异常时调用
切面Advice:
package advice;
import java.lang.reflect.Method;
import org.apache.log4j.Logger;
import org.springframework.aop.MethodBeforeAdvice;
import service.HelloService;
import service.HelloServiceImpl;
public class HelloAdvice implements MethodBeforeAdvice {
public void before(Method method, Object[] args, Object target) throws Throwable {
HelloService hello = (HelloServiceImpl)target;
Logger log = Logger.getLogger(target.getClass());
log.debug("Before Class:" + hello.getClass().getName() + "'s " + method.getName());
}
}
Spring配置文档:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="helloDao" class="dao.HelloDaoImpl">
<property name="helloworld" value="Hello World!" />
</bean>
<bean id="helloTarget" class="service.HelloServiceImpl">
<property name="helloDao" ref="helloDao" />
</bean>
<bean id="helloAdvice" class="advice.HelloAdvice" />
<bean id="helloService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<list>
<value>service.HelloService</value>
</list>
</property>
<property name="interceptorNames">
<list>
<value>helloAdvice</value>
</list>
</property>
<property name="target" ref="helloTarget"/>
</bean>
</beans>
输出结果
2009-07-11 17:22:35,625 DEBUG [HelloAdvice.java:18] : Before Class:service.HelloServiceImpl's print
Hello World!
factory
注:将spring.jar、junit.jar、commons-logging.jar、log4j.jar复制进WEB-INF/lib
分享到:
相关推荐
本示例DEMO "Spring的AOP示例DEMO HELLOWORLD" 将引导我们深入理解Spring AOP的核心概念,并通过一个简单的 HelloWorld 示例来展示其实现过程。 首先,面向切面编程(AOP)是一种编程范式,旨在提高代码的可维护性...
Spring框架是Java开发中广泛使用的轻量级框架,它以其依赖...学习和理解"Spring4 HelloWorld",不仅能够帮助初学者掌握Spring的基本用法,也为进一步深入学习Spring的其他高级特性,如AOP、MVC、JPA等打下坚实基础。
在Eclipse这个强大的Java集成开发环境中,创建一个Spring框架的HelloWorld程序是学习Spring入门的典型步骤。这个程序展示了如何在Eclipse中配置Spring环境,编写简单的Bean定义,并通过Spring的IoC(Inversion of ...
本示例“spring helloworld”将引导初学者入门Spring框架,通过一个简单的实例来理解其核心概念。 首先,我们需要了解Spring的基本架构。Spring是一个开放源代码的Java平台,它提供了全面的编程和配置模型,主要...
本文将深入探讨如何利用Spring框架输出“HelloWorld”,并介绍相关的基础知识。 首先,Spring是一个开源的Java平台,它为创建复杂的、模块化的、松耦合的Java应用程序提供了强大的支持。它的核心特性包括依赖注入...
本篇文章将详细讲解在创建一个简单的Spring HelloWorld应用时,需要导入的jar包以及它们在Spring框架中的作用。 首先,我们需要理解Spring的核心组件,即Spring IoC(Inversion of Control)容器。IoC容器是Spring...
[INFO] | \- org.springframework:spring-aop:jar:3.1.2.RELEASE:compile [INFO] +- org.springframework:spring-core:jar:3.1.2.RELEASE:compile [INFO] | +- org.springframework:spring-asm:jar:3.1.2.RELEASE:...
接下来,我们使用Spring的XML配置文件来定义`HelloWorld`类的bean。在`Spring3`压缩包中的`applicationContext.xml`文件可以这样编写: ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns...
任务"spring-helloworld:任务2.1.2"显然是针对初学者的一个入门教程,旨在帮助他们快速了解Spring框架的核心功能。 首先,我们需要理解Spring框架的核心特性。Spring以其依赖注入(Dependency Injection, DI)和...
"Spring HelloWorld案例"是一个入门级的学习教程,旨在帮助初学者理解和掌握Spring框架的基本概念和工作原理。这个案例将展示如何使用Spring MVC来创建一个简单的HTTP请求处理,并通过ViewResolver返回响应。 首先...
本篇文章将详细讲解如何在MyEclipse2013环境中创建一个基本的Spring MVC HelloWorld示例,同时也会提供两个文档资源——`MyEclipse2013+SpringMVCHelloWorld.docx`和`SPring Hello World 说明.docx`,以帮助读者深入...
本篇文章将深入探讨“Spring之HelloWorld”,通过一个简单的示例介绍如何使用Spring框架构建应用程序。首先,我们来看一下Spring的核心概念。 Spring是一个开源的Java平台,它为构建基于Java的企业级应用提供了全面...
4. **主程序**:启动应用的地方,通常会使用Spring的`ClassPathXmlApplicationContext`来加载配置文件,初始化Spring容器,并从容器中获取`HelloWorld`实例,调用其方法展示"Hello World"。 5. **Web部署**:如果...
"Helloworld:Java spring2021"这个标题暗示了我们将探讨一个简单的入门示例,它展示了如何使用Java Spring框架进行基本的编程。这个例子可能是为了帮助初学者理解Spring框架的基础,或者是作为一个新项目的基础模板...
该教程“Spring框架入门:Java开发者...具体来说,教程通过一个简单的Hello World示例,演示了如何使用Spring框架创建和配置一个基础项目,包括如何在`pom.xml`中添加依赖,如何配置Spring应用上下文,如何定义和使用Be
在这个"spring4.0入门案例-helloworld"中,我们将学习如何搭建一个基本的Spring环境,并实现一个简单的"Hello, World!"应用。 首先,我们需要理解Spring的核心概念:依赖注入(Dependency Injection,简称DI)。在...
- **AspectJ 版的 HelloWorld 示例**:通过一个简单的示例来演示如何使用 AspectJ 编写和织入切面。 - **AspectJ 中相关语法**:详细介绍 AspectJ 语言的各种特性和语法,如声明切面、切点表达式等。 - **一个简单的...
总的来说,"Spring第一个HelloWorld"是一个很好的起点,它可以帮助开发者建立对Spring框架的基本认识,为后续学习Spring的AOP(面向切面编程)、事务管理、数据访问、MVC等高级特性打下坚实的基础。
在本项目"spring+mybatis的helloworld"中,我们主要关注的是如何使用Spring和MyBatis这两个流行的Java开发框架来构建一个简单的Web应用程序。这个项目以Maven为构建工具,实现了MySQL数据库的插入操作,并利用Log4j...