类org.springframework.context.TestListener源码实例Demo

下面列出了怎么用org.springframework.context.TestListener的API类实例代码及写法,或者点击链接到github查看源代码。

@Test
public void testExpectedBehavior() throws Exception {
	TestBean target = new TestBean();
	final TestListener listener = new TestListener();

	class TestContext extends StaticApplicationContext {
		@Override
		protected void onRefresh() throws BeansException {
			addApplicationListener(listener);
		}
	}

	StaticApplicationContext ctx = new TestContext();
	MutablePropertyValues pvs = new MutablePropertyValues();
	pvs.add("applicationEventClass", TestEvent.class.getName());
	// should automatically receive applicationEventPublisher reference
	ctx.registerSingleton("publisher", EventPublicationInterceptor.class, pvs);
	ctx.registerSingleton("otherListener", FactoryBeanTestListener.class);
	ctx.refresh();

	EventPublicationInterceptor interceptor =
			(EventPublicationInterceptor) ctx.getBean("publisher");
	ProxyFactory factory = new ProxyFactory(target);
	factory.addAdvice(0, interceptor);

	ITestBean testBean = (ITestBean) factory.getProxy();

	// invoke any method on the advised proxy to see if the interceptor has been invoked
	testBean.getAge();

	// two events: ContextRefreshedEvent and TestEvent
	assertTrue("Interceptor must have published 2 events", listener.getEventCount() == 2);
	TestListener otherListener = (TestListener) ctx.getBean("&otherListener");
	assertTrue("Interceptor must have published 2 events", otherListener.getEventCount() == 2);
}
 
@Before
public void setUp() throws Exception {
	DefaultListableBeanFactory parent = new DefaultListableBeanFactory();
	parent.registerBeanDefinition("target2", new RootBeanDefinition(TestListener.class));
	this.factory = new DefaultListableBeanFactory(parent);
	new XmlBeanDefinitionReader((BeanDefinitionRegistry) this.factory).loadBeanDefinitions(
			new ClassPathResource(CONTEXT, getClass()));
}
 
/**
 * Overridden as we can't trust superclass method
 * @see org.springframework.context.AbstractApplicationContextTests#testEvents()
 */
@Override
protected void doTestEvents(TestListener listener, TestListener parentListener,
		MyEvent event) {
	TestListener listenerBean = (TestListener) this.applicationContext.getBean("testListener");
	TestListener parentListenerBean = (TestListener) this.applicationContext.getParent().getBean("parentListener");
	super.doTestEvents(listenerBean, parentListenerBean, event);
}
 
@Test
public void testExpectedBehavior() throws Exception {
	TestBean target = new TestBean();
	final TestListener listener = new TestListener();

	class TestContext extends StaticApplicationContext {
		@Override
		protected void onRefresh() throws BeansException {
			addApplicationListener(listener);
		}
	}

	StaticApplicationContext ctx = new TestContext();
	MutablePropertyValues pvs = new MutablePropertyValues();
	pvs.add("applicationEventClass", TestEvent.class.getName());
	// should automatically receive applicationEventPublisher reference
	ctx.registerSingleton("publisher", EventPublicationInterceptor.class, pvs);
	ctx.registerSingleton("otherListener", FactoryBeanTestListener.class);
	ctx.refresh();

	EventPublicationInterceptor interceptor =
			(EventPublicationInterceptor) ctx.getBean("publisher");
	ProxyFactory factory = new ProxyFactory(target);
	factory.addAdvice(0, interceptor);

	ITestBean testBean = (ITestBean) factory.getProxy();

	// invoke any method on the advised proxy to see if the interceptor has been invoked
	testBean.getAge();

	// two events: ContextRefreshedEvent and TestEvent
	assertTrue("Interceptor must have published 2 events", listener.getEventCount() == 2);
	TestListener otherListener = (TestListener) ctx.getBean("&otherListener");
	assertTrue("Interceptor must have published 2 events", otherListener.getEventCount() == 2);
}
 
@Before
public void setUp() throws Exception {
	DefaultListableBeanFactory parent = new DefaultListableBeanFactory();
	parent.registerBeanDefinition("target2", new RootBeanDefinition(TestListener.class));
	this.factory = new DefaultListableBeanFactory(parent);
	new XmlBeanDefinitionReader((BeanDefinitionRegistry) this.factory).loadBeanDefinitions(
			new ClassPathResource(CONTEXT, getClass()));
}
 
/**
 * Overridden as we can't trust superclass method
 * @see org.springframework.context.AbstractApplicationContextTests#testEvents()
 */
@Override
protected void doTestEvents(TestListener listener, TestListener parentListener,
		MyEvent event) {
	TestListener listenerBean = (TestListener) this.applicationContext.getBean("testListener");
	TestListener parentListenerBean = (TestListener) this.applicationContext.getParent().getBean("parentListener");
	super.doTestEvents(listenerBean, parentListenerBean, event);
}
 
/**
 * Overridden as we can't trust superclass method
 * @see org.springframework.context.AbstractApplicationContextTests#testEvents()
 */
@Override
protected void doTestEvents(TestListener listener, TestListener parentListener,
		MyEvent event) {
	TestListener listenerBean = (TestListener) this.applicationContext.getBean("testListener");
	TestListener parentListenerBean = (TestListener) this.applicationContext.getParent().getBean("parentListener");
	super.doTestEvents(listenerBean, parentListenerBean, event);

}
 
@Test
public void testExpectedBehavior() throws Exception {
	TestBean target = new TestBean();
	final TestListener listener = new TestListener();

	class TestContext extends StaticApplicationContext {
		@Override
		protected void onRefresh() throws BeansException {
			addApplicationListener(listener);
		}
	}

	StaticApplicationContext ctx = new TestContext();
	MutablePropertyValues pvs = new MutablePropertyValues();
	pvs.add("applicationEventClass", TestEvent.class.getName());
	// should automatically receive applicationEventPublisher reference
	ctx.registerSingleton("publisher", EventPublicationInterceptor.class, pvs);
	ctx.registerSingleton("otherListener", FactoryBeanTestListener.class);
	ctx.refresh();

	EventPublicationInterceptor interceptor =
			(EventPublicationInterceptor) ctx.getBean("publisher");
	ProxyFactory factory = new ProxyFactory(target);
	factory.addAdvice(0, interceptor);

	ITestBean testBean = (ITestBean) factory.getProxy();

	// invoke any method on the advised proxy to see if the interceptor has been invoked
	testBean.getAge();

	// two events: ContextRefreshedEvent and TestEvent
	assertTrue("Interceptor must have published 2 events", listener.getEventCount() == 2);
	TestListener otherListener = (TestListener) ctx.getBean("&otherListener");
	assertTrue("Interceptor must have published 2 events", otherListener.getEventCount() == 2);
}
 
@Before
public void setUp() throws Exception {
	DefaultListableBeanFactory parent = new DefaultListableBeanFactory();
	parent.registerBeanDefinition("target2", new RootBeanDefinition(TestListener.class));
	this.factory = new DefaultListableBeanFactory(parent);
	new XmlBeanDefinitionReader((BeanDefinitionRegistry) this.factory).loadBeanDefinitions(
			new ClassPathResource(CONTEXT, getClass()));
}
 
/**
 * Overridden as we can't trust superclass method
 * @see org.springframework.context.AbstractApplicationContextTests#testEvents()
 */
@Override
protected void doTestEvents(TestListener listener, TestListener parentListener,
		MyEvent event) {
	TestListener listenerBean = (TestListener) this.applicationContext.getBean("testListener");
	TestListener parentListenerBean = (TestListener) this.applicationContext.getParent().getBean("parentListener");
	super.doTestEvents(listenerBean, parentListenerBean, event);
}
 
 类方法
 同包方法