Purview接口
package aop; public interface Purview { void checkLogin(); }
Purview接口的实现类PurviesImpl.java
package aop; public class PurviewImpl implements Purview { public void checkLogin() { System.out.println("This is checkLogin method!"); } }
拦截器类PurviewAdvice.java
package aop; import java.lang.reflect.Method; import org.springframework.aop.MethodBeforeAdvice; public class PurviewAdvice implements MethodBeforeAdvice { public void before(Method arg0, Object[] arg1, Object arg2) throws Throwable { System.out.println("This is before method!"); } }
测试类Test.java
package aop; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { public static void main(String[] args) { // TODO 自动生成方法存根 ApplicationContext ctx = new ClassPathXmlApplicationContext( "aop/applicationContext.xml"); Purview purview = (Purview) ctx.getBean("purviewImpl"); purview.checkLogin(); } }
配置文件applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd" default-autowire="autodetect"> <bean id="purviewImpl" class="aop.PurviewImpl"></bean> <bean id="purviewAdvice" class="aop.PurviewAdvice"></bean> <bean id="purviewAdvisor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor"> <property name="advice"> <ref local="purviewAdvice" /> </property> <property name="patterns"> <list> <value>.*checkLogin.*</value> </list> </property> </bean> <bean id="autoproxyaop" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <value>purviewImpl</value> </property> <property name="interceptorNames"> <list> <value>purviewAdvisor</value> </list> </property> </bean> </beans>
运行结果:
This is before method! This is checkLogin method!
文章来源:http://blog.csdn.net/yirentianran/article/details/3380529
相关推荐
在上面的配置中,`<mvc:interceptor>` 内的 `<mvc:mapping>` 定义了拦截器生效的 URL 路径,`<bean ref="myInterceptor">` 是我们之前创建的拦截器实例。 通过这样的配置,当请求匹配到指定路径时,Spring 就会调用...
每个拦截器都可以决定是否允许请求继续传递到下一个拦截器或控制器。 2. **创建自定义拦截器**:首先,我们需要创建一个实现了`HandlerInterceptor`接口的类。这个接口中有三个方法: - `preHandle...
在Spring Boot应用中,登录拦截器是一个至关重要的组件,它用于保护特定的Web资源,确保只有经过身份验证的用户才能访问。Spring Boot结合了Spring MVC框架,提供了方便的方式来实现这样的拦截器。本篇文章将深入...
在这个简单的例子中,我们将深入理解如何配置和使用 Spring 的拦截器来实现特定的功能。 首先,我们有一个接口 `Purview`,其中包含一个方法 `logincheck()`。这个接口定义了需要被拦截的方法。接口的作用是提供一...
在Spring Boot中注册拦截器,我们需要在配置类中使用`@EnableAspectJAutoProxy`开启AOP代理,并通过`@Bean`注解声明拦截器实例。然后,使用`@Around`注解定义切点,即拦截所有的JPA操作。 在实际开发中,为了使分库...
在`DemoSpringMVCInterceptor`这个示例中,你可能会看到如何定义和注册一个简单的拦截器。这个示例可能包括了上述的三个方法的实现,以及一些基本的逻辑,比如打印请求信息或者进行权限验证。 通过理解并实践Spring...
虽然在这个特定的例子中,`application.properties`可能没有直接与拦截器相关,但我们可以在这里配置一些全局属性,比如日志级别,这对于调试和监控拦截器的行为非常有用。例如: ```properties logging.level.org....
通过以上步骤,我们就完成了Struts2和Spring的整合,Action实例由Spring管理,并且能够使用自定义的拦截器。这种整合方式让开发者能够充分利用两者的优点,提高代码的可维护性和可扩展性。 值得注意的是,Struts2_...
为了实现登录拦截,我们需要创建一个拦截器类,例如`LoginInterceptor`,并实现`HandlerInterceptor`接口: ```java import org.springframework.stereotype.Component; import javax.servlet....
在Spring MVC框架中,拦截器(Interceptor)是一个强大的工具,用于在请求被控制器处理之前或之后执行特定的逻辑。它们可以用来实现通用的功能,如权限验证、日志记录、性能统计等,避免在每个控制器方法中重复代码...
登录拦截器是 Spring MVC 中的一个关键特性,用于在请求到达实际处理方法之前进行预处理,例如检查用户是否已经登录,确保只有经过授权的用户才能访问某些资源。 **Hibernate** Hibernate 是一个强大的对象关系映射...
在这个简单的例子中,我们将聚焦于Spring AOP中的织入(Weaving)和织出(Ejbouting)拦截器的概念,这些在Spring MVC和SSM(Spring、SpringMVC、MyBatis)框架中非常常见,尤其是对于处理数据库操作的Mapper层。...
在本项目中,"spring集成cxf客户端和服务器端demo(含自定义拦截器)"是一个实战案例,展示了如何在Spring框架下与Apache CXF服务进行整合,实现客户端和服务端的交互,并利用拦截器来增强功能。以下是这个项目涉及的...
- XML配置:在Spring的配置文件中,通过`<mvc:interceptors>`标签来定义拦截器,然后在`<bean>`中定义具体的拦截器实例,通过`<mvc:mapping>`指定需要拦截的URL。 - 注解配置:使用`@EnableWebMvc`开启Web MVC配置...
本项目是一个基于Spring 4的Spring MVC实现,内含登录功能和拦截器,可以直接运行,为开发者提供了一个快速开发的基础模板。 首先,让我们详细了解一下Spring MVC的核心概念: 1. **DispatcherServlet**:它是...
现在我们来详细探讨一下这个"rcp与spring集成的一个简单例子"。 首先,集成的初衷是为了将Spring的灵活性和模块化引入到RCP应用中。通过Spring,我们可以轻松地管理对象的生命周期、实现松耦合,并利用其强大的AOP...
具体实现时,开发者可以创建一个名为`LoginInterceptor`的拦截器,该拦截器包含以下几个关键方法: - `void destroy()`:在拦截器不再使用时释放资源。 - `String intercept(ActionInvocation invocation)`:这是...
在 Spring 框架中,拦截器(Interceptor)是一个非常重要的概念。拦截器是Spring框架中的一个核心组件,负责拦截和处理HTTP请求。拦截器可以在请求处理之前、之后、或者抛出异常时执行某些操作,例如身份验证、日志...
综上所述,这个项目实例提供了一个完整的SSM(Struts2、Spring、MyBatis)集成应用,并结合了AJAX和AOP技术,对于理解Java Web开发的常用框架和最佳实践具有很高的学习价值。开发者可以通过研究这个项目,深入理解...