您的位置:首页 > 运维架构 > Linux

Linux学习笔记――RAID

2015-08-28 23:05 375 查看
1. 先写出业务对象接口及实现业务对象。

 

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();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: