后置通知:AfterReturningAdvice方法
1.新建一个《MyAfterAdvice.java》
package cn.csdn.advice;
import java.lang.reflect.Method;
import org.springframework.aop.AfterReturningAdvice;
public class MyAfterAdvice implements AfterReturningAdvice{
/*
* 第一个参数:方法的返回值
* 第二个参数:方法对象
* 第三个参数:方法的参数
* 第四个参数:目标对象
*/
@Override
public void afterReturning(Object returnvalue, Method md, Object[] args,
Object target) throws Throwable {
System.out.println(returnvalue+md.getName()+args+target);
System.out.println("...........员工下班之后打卡................");
}
}
代理对象的目标只能是一个
引入通知:
创建一个:
Modifydate.java接口package cn.csdn.service;
import java.util.Date;
public interface Modifydate {
/*设置属性方法*/
void setDate(Date date);
/*获取属性方法*/
Date getDate();
}
创建一个ModifyDateimpl.java类
package cn.csdn.service;
import java.util.Date;
import org.springframework.aop.support.DelegatingIntroductionInterceptor;
public class ModifyDateImpl extends DelegatingIntroductionInterceptor implements Modifydate{
private Date date;
@Override
public Date getDate() {
// TODO Auto-generated method stub
return date;
}
@Override
public void setDate(Date date) {
this.date=date;
}
}
配置文件:<!-- 声明引入通知 -->
<bean id="modifyDateImpl" class="cn.csdn.service.ModifyDateImpl" />
<!-- 配置advise -->
<bean id="defaultIntroductionAdvisor" class="org.springframework.aop.support.DefaultIntroductionAdvisor">
<constructor-arg index="0" ref="modifyDateImpl"></constructor-arg>
</bean>
<!-- 声明代理接口 -->
<property name="proxyInterfaces">
<list>
<value>cn.csdn.service.EmpService</value>
<value>cn.csdn.service.Modifydate</value>
</list>
</property>
<!-- 拦截器的名称 -->
<property name="interceptorNames">
<list>
<value>defaultIntroductionAdvisor</value>
</list>
</property>
分享到:
相关推荐
本篇文章将深入探讨Spring AOP中的注解引入通知,以及如何利用它们来增强代码的可维护性和模块化。 首先,我们要理解什么是“引入通知”(Introduction Advice)。引入通知是Spring AOP的一种特殊类型的通知,它...
除了四种基本的通知类型,Spring AOP还引入了“切入点”和“引入通知”的概念来更精细地控制通知的应用范围。切入点(PointCut)定义了通知应该应用于哪些连接点(JoinPoint),即方法调用。引入通知(Advisor)则将...
通过简单的安装和配置,开发者可以在自己的Vue项目中轻松引入通知功能。 ### 2. 可堆叠通知 “可堆叠”意味着通知可以按照时间顺序堆积起来,而不是简单地覆盖或替换前一条通知。这种设计使得用户能够查看并处理多...
1. **开头部分**:这部分主要是引入通知的主题,吸引读者的注意力。常见的开场白有“May I have your attention, please?”、“Attention, please!”或“I have an announcement to make.”等。 2. **主体部分**:...
此外,iTunes也必须至少更新至12.2.1版本,因为这是首次引入通知中心插件功能的版本。如果用户使用的iTunes版本较低,可以通过Mac App Store检查更新,或者直接访问Apple官网下载最新版iTunes进行安装。 在确保系统...
3. **引入通知**:在切面类中,我们使用`@Before`和`@After`注解的方法来引入通知,并指定它们应该在哪个连接点上运行。这些方法的参数可以使用`@args`来获取方法的参数信息。 4. **启用AOP代理**:为了使AOP生效,...
引入通知较少使用,在此文档中并未详细展开。 11. 基于XML的配置声明切面 虽然文档中提到基于XML的配置声明切面的方式被略过,但其概念是通过XML配置文件来声明切面和通知。 12. AOP执行时机 AOP的织入并不一定...
- Introduction:引入通知,允许向现有类添加新的方法和属性。 2. 连接点(Joinpoint) 连接点是应用通知的时机,如方法调用、异常抛出等。 3. 切入点(Pointcut) 切入点定义了通知发生的位置,通常通过正则表达式...
- **引入通知(IntroductionAdvice)**:向目标类添加新的方法和属性,例如`IntroductionInterceptor`。 3. **配置示例**: Spring通过`ProxyFactoryBean`配置代理工厂,例如配置前置通知,需要设置`...
接下来,我们要引入通知(Advice),它是实际的横切关注点,如日志或事务处理。在Spring中,我们可以定义前置通知(Before)、后置通知(After)、返回后通知(After Returning)、异常后通知(After Throwing)和...
传统C/S体系结构的工作流系统通常存在...系统引入通知机制实现工作流的分布式管理,工作流中活动由Web服务实现,工作流成为一个能够在Internet上调用的服务。系统克服了中央服务器的缺陷,具有较强的适应性、扩展性。
在视图文件中,引入通知脚本并使用`session('flash_notification.message')`和`session('flash_notification.level')`获取通知信息: ```blade <!DOCTYPE html> 示例应用 ('vendor/notifications.js') }}"> @...
3. **引入通知功能** - **事件驱动**:当资源发生改变(如商品上架、下架或价格变动)时,服务器可以触发通知事件。 - **订阅模型**:客户端可以订阅感兴趣的通知类型,如新品上市、价格调整等。 - **推送机制**...
5. 引入通知(Introduction Advice):使用引入拦截器,可以定义通知引入的方法的实现。 四、AOP 配置 在 Spring 配置文件中,可以使用 `<aop:aspect>` 元素来配置 AOP。例如: ```xml (* *(..))"/> ``` 五、...
综上所述,基于PCI总线的多处理器协同机制通过优化数据传输、引入通知和互斥策略,解决了多CPU系统中的资源争抢问题,提升了系统的整体性能。在军事、轨道交通、能源电力和航空航天等领域,这种技术具有广泛的应用...
引入通知 12.4.Spring.NET中的Advisor 12.5.使用ProxyFactoryObject创建AOP代理 12.5.1.基本原理 12.5.2.ProxyFactoryObject的属性 12.5.3.代理接口 12.5.4.代理一个类 12.6.使用ProxyFactory类以编程方式创建AOP...
- **Notification Channel**:引入通知渠道,使得开发者可以将通知分组,用户可以自定义每个渠道的通知行为。 - **Background Execution Limits**:限制后台服务的执行,以延长电池寿命,包括后台执行限制和后台...
iOS10引入了全新的通知框架,为开发者提供了更强大的通知定制能力,同时也引入了通知扩展(Notification Service Extension)和通知内容扩展(Notification Content Extension),使得通知不仅仅是简单的文字提示,...
在Android N(API级别24)中,通知栏和快捷设置通知栏的更新引入了许多新功能和改进,为开发者提供了更多的控制权,同时也提升了用户体验。本文将深入探讨这些变化,并通过一个名为`AndroidNNotificationDemo`的示例...