- 浏览: 896038 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
所谓Spring静态切入点,相对于动态切入点来说,具有良好的性能,因为静态切入点只在代理创建时候执行一次,而不是在运行期间,每次目标方法执行前都进行执行,下面,以实例说明如何定义静态切入点
看我我前一篇blog的朋友都知道,如果不定义切入点,通知方法是会对整个目标类的所有方法均进行切入的
但实际需求中,我们可能对其中的几个方法执行A通知,对其他的方法执行B通知,这时候,就需要通过定义不同的切入点来进行区分
目标接口:











javabean:

































业务目标实现类:






































通知(切面)方法:



















下面是重点,我们想对所有的buy方法进行通知处理,也就是在所有的buy方法上定义切面
spring为我们创建了静态切入点的父类 StaticMethodMatcherPointCut ,如果我们想实现自制的静态切入点,只要继承这个类就可以了,不过一般情况下,我们使用spring提供的静态切入点NameMatchMethodPointCut就足够了
配置文件如下:













































<!-- 如果不使用通配符,则用以下表达
<property name="mappedNames">
<list>
<value>sellSomething</value>
<value>sellAnything</value>
</list>
</property>
-->
测试程序:




























发表评论
文章已被作者锁定,不允许评论。
-
spring 2.5 注释驱动的 IoC 功能
2012-06-15 23:35 947概述 注释配置相对于 XML 配置具有很多的优势: 它可 ... -
在Spring BeanFactory容器中管理两种bean
2012-06-08 22:45 3021在Spring BeanFactory容器 ... -
Spring-security 1
2011-05-15 20:20 1686有没有发现一个问题 ... -
容器背后的秘密
2011-04-28 00:26 918核心提示:4.4 容器背 ... -
spring 监听器 IntrospectorCleanupListener简介
2011-04-27 15:49 1289其中JavaBeans Introspector是一个类,位置 ... -
通过ApplicationContextAware获取bean
2011-04-25 17:30 1668通过ApplicationContextAware获取bean ... -
详解 Spring 3.0 基于 Annotation 的依赖注入实现
2011-03-14 17:18 1099简介: Spring 的依赖配置方式与 Spring 框架的内 ... -
spring+hibernate操控LOB对象
2011-03-12 00:27 981spring为hibernate提供了对LOB对像的支持, ... -
Spring AOP
2011-03-11 10:32 874AOP是Aspect Oriented Programming ... -
Spring AOP配置选项
2011-03-11 08:59 1604Spring实现动态代理配置是有两种配置文件:1、 xml ... -
spring 事务传播属性和隔离级别
2011-02-13 14:53 1077一、Propagation (事务的 ... -
spring学习,实例化bean的方式及Bean的作用域
2010-10-26 10:09 1164今天继续学习Spring,黎老师对Spring中比较重要的部分 ... -
Spring学习 xml配置依赖注入
2010-10-26 09:39 999最近项目中也配了几遍ssh框架了,不过老出问题,还是Sprin ... -
IOC控制反转和DI依赖注入区别
2010-10-12 15:20 1187IOC控制反转:说的是创建对象实例的控制权从代码控制剥离到IO ... -
Quartz cron表达式详解
2010-09-27 15:13 961字段 允许 ... -
Spring Bean的作用域
2010-09-27 15:12 945XML代码 <bean id="role ... -
spring配置中调用properties文件
2010-09-27 14:59 1577system.propertiesdatabase.url=j ... -
DataSourceUtils.getConnection()要与其对称方法配合使用
2010-09-15 16:56 1418DataSourceUtils.getConnection() ... -
使用BeanNameAutoProxyCreator实现spring的自动代理
2010-09-06 15:05 1034提到代理,我们可以使用ProxyBeanFactory,并配置 ... -
Spring源代码解析(一):IOC容器
2010-08-17 13:33 818在认真学习Rod.Johnson的三部曲之一:< < ...
相关推荐
在Spring框架中,切入点(pointcut)表达式是AOP(面向切面编程)的核心组成部分,用于定义关注点的精确位置,比如哪些方法应该被拦截。切入点表达式是基于AspectJ语法的,允许开发者精确地指定要拦截的方法。下面将详细...
浅谈Spring常用注解 浅谈Spring常用注解是Spring框架中的一些基本概念,了解这些概念对于 MASTERING SPRING Framework非常重要。本文将对Spring中常用的注解进行分类和介绍,并对每个注解的使用进行解释。 一、...
本篇将详细探讨如何使用切入点匹配方法实现Spring AOP的环绕通知。 首先,理解AOP的核心概念: 1. 切面(Aspect):切面是关注点的模块化,它封装了横切关注点,如日志、事务等。 2. 连接点(Join Point):程序...
- 使用`@Secured`或`@PreAuthorize`注解:在Controller方法上使用这些注解,根据方法级别的权限控制静态资源的访问。 4. **Web安全配置** Spring Security的配置通常在Java配置类中完成,通过`...
浅谈 Spring 原理 透析,IOC 和 AOP Spring 框架是一个从实际项目开发经验中抽取的,可高度重用的应用框架。它是一个轻量级容器,带有包装器,使许多不同的服务和框架更易于使用。轻量级容器接受任何 JavaBean,而...
3. **使用Spring Security的访问决策管理器(AccessDecisionManager)**:如果你希望控制哪些角色可以访问静态资源,可以实现自己的访问决策管理器,然后在配置中指定使用这个管理器。 4. **使用HTTP基本认证或OAuth2...
在本主题"spring+静态代理"中,我们将深入探讨如何利用Spring框架来实现静态代理模式,并通过接口回调的方式来增强代码的灵活性和可扩展性。 静态代理是一种设计模式,它允许我们在不修改原始对象(被代理对象)的...
在这个适配器中,我们可以覆盖`configure(WebSecurity web)`方法来定义静态资源的放行规则: ```java @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { ...
例如,我们可以使用`permitAll()`方法允许所有用户访问静态资源目录: ```java @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/...
本篇将详细介绍如何在Spring中使用静态工厂方法来创建实例。 首先,让我们理解什么是静态工厂方法。静态工厂方法是类中的一个静态成员方法,它不依赖于类的实例,而是通过类名直接调用,返回一个对象。这种方法与...
开发者可以定义切面(Aspect),并通过切入点(Pointcut)指定哪些方法或类应该被增强。这种方式可以让主要业务逻辑保持简洁,并将非核心功能进行模块化管理。 ### 声明式事务管理 Spring框架提供了声明式的事务...
了解并熟练运用这些切入点表达式,能够有效地提升Spring AOP的使用效率,让代码更加模块化,易于维护。在实际开发中,根据业务逻辑选择合适的切入点表达式,能够更好地实现切面的封装和复用,提高代码的可读性和可...
6. **使用Spring Boot**:在Spring Boot应用中,Spring Security与Spring Boot的静态资源处理机制集成良好。通过`spring.security.filter.static-resources-locations`属性,可以指定静态资源的位置,并自动处理权限...
Spring Boot工具类静态属性注入是指使用Spring Boot框架时,如何将配置信息注入到工具类的静态变量中,以便在程序中使用这些配置信息。这种方式可以方便地在不同的环境中切换配置信息,例如在开发环境中使用本地的...
Spring AOP通过使用切入点(Pointcut)和通知(Advice)来实现这一目标。切入点是定义关注点何时触发的表达式,而通知则是实际执行的动作。 Spring AOP目前只支持方法执行这个连接点,下面我们将详细解析Spring AOP...
Spring框架作为Java领域中最为广泛使用的依赖注入(Dependency Injection, DI)容器之一,其强大的功能不仅体现在对复杂系统的管理上,还包括了许多高级特性,如静态实例化。本文将深入探讨Spring中的静态实例化概念...
但是,由于静态方法无法直接使用注解,我们可以创建一个非静态的辅助类,该类可以被Spring管理,并在其内部使用`@Autowired`注解来注入bean。之后,静态服务类通过这个辅助类访问bean。 ```java @Component ...
"狂神说SpringSecurity静态资源.rar"很可能是狂神(一位知名的IT教育博主)分享的一系列关于SpringSecurity教程的资料,包含了模板(templates)和静态资源(static)两个部分。 在SpringSecurity中,静态资源的...
下面我们将详细探讨Spring切入点表达式配置的过程以及相关标签的使用。 1. **** 标签: 这个标签是Spring AOP配置的根元素,用于声明AOP的相关配置。在`<aop:config>`中,我们可以定义多个切面、切入点和通知,以...
在Spring中,切入点是通过特定的表达式或者注解来声明的,它定义了方法执行的特定位置,例如,当某个特定的方法被调用时,或者当满足某种条件(如方法的参数类型、返回值等)时。切入点表达式通常使用 AspectJ 的...