`
liuhello
  • 浏览: 69246 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Spring @work Demo

阅读更多
定义一个接口
java 代码
 
  1. package com.tyq.spring.aop.annotation;  
  2.   
  3. public interface Say {  
  4.     void say();  
  5.     void say(String str);  
  6.     String say(String str,int i);  
  7. }  
实现接口
java 代码
 
  1. import org.apache.commons.logging.Log;  
  2. import org.apache.commons.logging.LogFactory;  
  3.   
  4. public class SayImpl implements Say {  
  5.     private static final Log log = LogFactory.getLog(SayImpl.class);  
  6.     @Override  
  7.     public void say() {  
  8.         System.out.println(this.getClass().getMethods()[0]);  
  9.   
  10.     }  
  11.   
  12.     @Override  
  13.     public void say(String str) {  
  14.         System.out.println(this.getClass().getMethods()[0]);  
  15.   
  16.     }  
  17.   
  18.     @Override  
  19.     public String say(String str, int i) {  
  20.         System.out.println(str + i);  
  21.         return str;  
  22.     }  
  23.   
  24. }  
@Aspect的定义
java 代码
 
  1. package com.tyq.spring.aop.annotation;  
  2.   
  3. import org.apache.commons.logging.Log;  
  4. import org.apache.commons.logging.LogFactory;  
  5. import org.aspectj.lang.annotation.AfterReturning;  
  6. import org.aspectj.lang.annotation.Aspect;  
  7. import org.aspectj.lang.annotation.Pointcut;  
  8.   
  9. @Aspect  
  10. public class AopAfterReturning {  
  11.     @Pointcut("execution(* Say.*(..))")  
  12.     public void test(){  
  13.         System.out.println("hello");  
  14.     }  
  15.     @AfterReturning("test()")  
  16.     public void afterTest()  
  17.     {  
  18.         System.out.println(this.getClass());  
  19.     }  
  20. }  
applicationContex.xml配置文件
xml 代码
 
  1. xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns:aop="http://www.springframework.org/schema/aop"  
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
  6.                         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">  
  7.     <aop:aspectj-autoproxy/> <!---->  
  8.     <bean id="aspect" class="com.tyq.spring.aop.annotation.AopAfterReturning"/>  
  9.     <bean id="sayImpl" class="com.tyq.spring.aop.annotation.SayImpl"/>  
  10. <!---->beans>  

主函数入口
java 代码
 
  1. package com.tyq.spring.aop.annotation;  
  2.   
  3. import org.apache.commons.logging.Log;  
  4. import org.apache.commons.logging.LogFactory;  
  5. import org.springframework.context.ApplicationContext;  
  6. import org.springframework.context.support.ClassPathXmlApplicationContext;  
  7.   
  8. public class TestMain {  
  9.   
  10.     /** 
  11.     * @param args 
  12.     */  
  13.     protected static Log log = LogFactory.getLog(TestMain.class);  
  14.     public static void main(String[] args){  
  15.         ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml",TestMain.class);  
  16.         Say test = (Say)context.getBean("sayImpl");  
  17.         test.say();  
  18.         test.say("how are you!");  
  19.         test.say("who are you !"2);  
  20.         log.info("hello");  
  21.     }  
  22.   
  23. }  
分享到:
评论

相关推荐

    work_demo.zip

    【标题】"work_demo.zip" 是一个包含个人测试项目的压缩包,该项目主要涉及了数据库管理、多线程处理、Java虚拟机(JVM)优化以及Spring Boot应用开发等多个IT技术领域。这个压缩包预示着作者可能正在进行一项综合性...

    apache-camel-spring-demo

    Camel empowers you to define routing and mediation rules in a variety of domain-specific languages, including a Java-based Fluent API, Spring or Blueprint XML Configuration files, and a Scala DSL....

    workflow_springbootworkflow_workflowdemo_workflowspringBoot_work

    在本项目"workflow_springbootworkflow_workflowdemo_workflowspringBoot_work"中,开发者采用Spring Boot框架集成Activiti工作流引擎,构建了一个工作流的示例应用。接下来,我们将深入探讨这个项目的相关知识点。 ...

    Spring3.2.4+Quartz2.2.0 Demo

    Spring3.2.4+Quartz2.2.0 实例 &lt;!-- 启动触发器的配置开始 --&gt; class="org.springframework.scheduling.quartz.SchedulerFactoryBean"&gt; ... &lt;bean id="myJob" class="com.tgb.lk.demo.quartz.MyJob" /&gt;

    JSf-Spring-Hibernate整合开发案例-教程+Demo

    JSf-Spring-Hibernate整合开发案例-教程+Demo 原名应该是Put_JSF_ToWork 里面有一个案例,经典的分层模式。 我这个文件是包括源代码以及那份PDF的,因为是老外的东西怕有一天突然下载不了了 所以留一份...

    rabbitmqdemo

    在 "rabbitmqdemo" 的 Spring 版本中,你可以看到如何利用 Spring 的注解驱动和依赖注入特性来实现消息的发送和接收,这将帮助你理解如何在实际项目中高效地使用 RabbitMQ。 除了基本的发送和接收消息之外,...

    SpringMVC精品资源--Java platform springmvc demo for work !.zip

    在"SpringMVC精品资源--Java platform springmvc demo for work !"这个压缩包中,很可能是包含了一个或多个示例项目,用于展示SpringMVC的实际应用和使用方法。 在SpringMVC中,核心组件包括DispatcherServlet、...

    rabbitmq_demo1.zip

    RabbitMQ 是 Spring Cloud Bus 常见产品之一。 本代码简单示例了RabbitMQ 的5中工作模式中的几种 (1)simple 简单模式 (2)Work(竞争者模式) (3)fanout 模式(发布订阅模式) (4)direct(路由键模式) (5)...

    weixin-java-cp-demo:基于Spring Boot和WxJava实现的微信企业号企业微信放置演示

    本项目为WxJava的Demo演示程序,基于Spring Boot ,实现企业微信替代开发功能。 更多信息请查阅: : 使用步骤: 请注意,本演示为简化代码编译时加入了lombok支持,如果不了解lombok的话,请先学习下相关知识,可以...

    java队列源码-rabbitmq-repository:RabbitMQ消息队列学习的源码记录

    java 队列源码 #rabbitMQ repository 主要记录个人学习reabbit的相关demo ...rabbitmq-spring-work-queue spring boot使用rabbitmq的队列示例 rabbitmq-spring-fanout spring boot使用的rabbitmq的发布订阅示例 rabb

    Java-CMS-Framework-Base_jeesite.com:Java管理后台快速开发SSM框架_优化版-JDK1.8 spring,springMVC,MyBatis,mysql,shiro,redis,ehcache

    Java管理后台快速开发SSM框架_...mysql&gt; grant all privileges ON demo.* to 'work'@'%'; mysql&gt; use demo; mysql&gt; source framework.sql; 启动 mvn&gt; jetty:run Update 2019-01-16 增加maven自定义参数版本号 启动时增

    JApiDocs-master.zip

    JApiDocs is implemented by parsing Java source code. To make JApiDocs work correctly, you need to follow certain...You can refer the SpringDemo module in the source code for comparison and understanding.

    Activiti5 WorkFlow

    1、什么是Work Flow? 2、Activiti5 Work Flow ...3、 Activiti5 入门篇-Hello World DEMO演示与说明 4、 Activiti5 基础篇- 流程组件简述及参数传递 5、与Spring 容器整合配置 6、附录: Activiti5数据库表详细说明

    疫苗管理系统(SpringBoot+VUe)

    `vuedemo`可能是Vue.js的示例代码或组件,展示如何在项目中使用Vue.js进行开发。而`work`文件夹可能包含了项目的源代码、配置文件或其他相关资源。 整体而言,这个疫苗管理系统结合了SpringBoot的强大后端能力和Vue...

    毕设项目:后端springboot + mybatis + jpa,前端vue实现的简易网盘系统.zip

    简易网盘系统demo 前端:vue + vue-router + vuex + axios 后端:springboot + mybatis + jpa # net-disk &gt; A Vue.js project ## Build Setup ``` bash # install dependencies npm install # serve with hot ...

    SomeJava:将以往项目应用中各种框架、中间件的使用方式抽取出来,希望以后给刚接触直接运行,入门参考。。

    帮别人弄的一个框架Demo、基于maven构建、采用springMvc+springJdbc,特点是web层和service层分离,采用hessian实现远程交互,这样web和service可以分开部署,中间用代理服务器转发,实现一台web多个service节点提供...

    分布配置工具包ConfigToolkit.zip

     ConfigGroup configGroup = new FileConfigGroup(configProfile, "file:/Users/yuxuanwang/Work/git/config-toolkit/config-toolkit-demo/src/main/resources/property-group1.properties");load properties ...

    jbpm学习指南-初学者的宝典

    2. **实体(Entities)**:jbpm中的实体包括任务(Task)、流程实例(Process Instance)和工作项(Work Item)。任务是流程中的工作单元,流程实例代表一次流程执行,工作项则是任务的具体执行状态。 3. **流程...

    查看import的类是出自哪个jar包的方法

    file:/D:/work_ser_demo/springtest/WebContent/WEB-INF/lib/commons-lang-2.4.jar ``` 这个 URL 表示 `StringUtils` 类来自 `commons-lang-2.4.jar` 文件。 本篇文章为大家带来了一个查看 import 的类是出自哪个 ...

Global site tag (gtag.js) - Google Analytics