引介增强

引介增强:

要增强的接口:

public interface Run {
	public void startrun(String name);

}

 引介增强的切面类:

public class TalkAddRun extends DelegatingIntroductionInterceptor implements
		Run {

	public void startrun(String name) {
		// TODO Auto-generated method stub
		System.out.println(name + "also could run");
	}

	@Override
	public Object invoke(MethodInvocation invocation) throws Throwable {
		// TODO Auto-generated method stub
		System.out.println(invocation.getMethod().getName() + "start..");
		Object invoke = super.invoke(invocation);
		return invoke;
	}

}

 Spring的配置:

<bean id="talkAddRun" class="引介增强.TalkAddRun"></bean>
	<bean id="yinjie" class="org.springframework.aop.framework.ProxyFactoryBean">
		<property name="interfaces">
			<value>引介增强.Run</value>
		</property>
		<property name="proxyTargetClass" value="true"></property>
		<property name="interceptorNames">
			<value>talkAddRun</value>
		</property>
		<property name="target">
			<ref bean="helloSpeaker" />
		</property>
	</bean>

测试代码:

IHello yinjie = (IHello) context.getBean("yinjie");
		yinjie.hello("wang");
		Run yin = (Run) yinjie;
		yin.startrun("wang");

 这样获取的helloSpeaker的代理类就可以通过IHello将其强制转换为IHello的类了,也就是实现了IHello接口。

今天似乎明白了点文件的格式,每种文件都是以自己定义的方式定义二进制的格式,比如说文件头,body,就像协议一样,今天反编译javadbf-0[1].4.0.jar看了一下午没看懂里面读取文件二进制的方式,等有时间了一定弄懂它。

项目进展:添加了生成考场学生的所有标签的 功能。

猜你喜欢

转载自wjp1990.iteye.com/blog/1284497