Linux学习笔记――RAID
2015-08-28 23:05
375 查看
1. 先写出业务对象接口及实现业务对象。
这里写俩个实现。
2. 实现自己的代理,创建自己的interceptor
3. 配置文件
<?xml version="1.0" encoding="GBK"?>
4. 测试代码
public interface Interface { public void hello(); }
这里写俩个实现。
public class InterfaceImpl implements Interface { /** * @see com.alipay.aop.BusinessInterface#hello() */ @Override public void hello() { System.out.println("AOP TEST!!"); } }
public class InterfaceImplTest implements Interface { /** * @see aop.Interface#hello() */ @Override public void hello() { System.out.println("helo world!!"); } }
2. 实现自己的代理,创建自己的interceptor
public class MyInterceptor implements MethodInterceptor { /** * @see org.aopalliance.intercept.MethodInterceptor#invoke(org.aopalliance.intercept.MethodInvocation) */ @Override public Object invoke(MethodInvocation methodInvocation) throws Throwable { String info = methodInvocation.getMethod().getDeclaringClass()+ "." + methodInvocation.getMethod().getName() + "()"; System.out.println(info); try{ Object result = methodInvocation.proceed(); return result; } finally{ System.out.println(info); } } }
3. 配置文件
<?xml version="1.0" encoding="GBK"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:sofa="http://img.alipay.net/dtd/schema/service" xmlns:context="http://www.springframework.org/schema/context" xmlns:webflow="http://www.springframework.org/schema/webflow-config" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://img.alipay.net/dtd/schema/service http://img.alipay.net/dtd/schema/service/sofa-service.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/webflow-config http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd" default-autowire="byName"> <bean id="beanTarget" class="aop.InterfaceImpl"/> <bean id="hello" class="aop.InterfaceImplTest" /> <bean id="myInterceptor" class="aop.MyInterceptor"/> <bean id="bean" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="proxyInterfaces"> <value>aop.Interface</value> </property> <property name="interceptorNames"> <list> <value>myInterceptor</value> <value>beanTarget</value> </list> </property> </bean> <bean id="testBean" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="proxyInterfaces"> <value>aop.Interface</value> </property> <property name="interceptorNames"> <list> <value>myInterceptor</value> <value>hello</value> </list> </property> </bean> </beans>
4. 测试代码
public class Main { /** * * @param args */ public static void main(String[] args) { ClassPathResource resource = new ClassPathResource("spring.xml"); XmlBeanFactory beanFactory = new XmlBeanFactory(resource); Interface bean = (Interface)beanFactory.getBean("bean"); bean.hello(); Interface testBean = (Interface)beanFactory.getBean("testBean"); testBean.hello(); } }
相关文章推荐
- Linux内核工程导论——用户空间设备管理
- 【转自EMC中文支持论坛】Linux系统SCSI磁盘扫描机制解析及命令实例
- Linux内核工程导论——进程
- Linux下文件字符集编码转换
- Linux的timerfd分析
- 树莓派deian的linux常用命令
- Linux 基础命令
- 12个Linux进程管理命令介绍
- Linux启动管理-系统修复模式
- Linux平台上SQLite数据库教程(一)——终端使用篇
- linux centos 6.3 图文安装教程
- 读书笔记之linux/unix系统编程手册(30)
- Linux内核同步机制之(五):Read/Write spin lock
- Linux内核同步机制之(四):spin lock
- Linux内核同步机制之(三):memory barrier
- Linux内核同步机制之(二):Per-CPU变量
- Linux设备驱动简介
- Linux进程管理
- Linux内核同步机制之(一):原子操作
- Linux内核链表