2

我正在通过注释使用@Transactional 和事务管理(tx:annotation-driven...)。我在使用 GenericApplicationContext 创建应用程序上下文并从中获取一些 bean 时遇到问题:

GenericApplicationContext ctx = new GenericApplicationContext();

// Load beans definitions 
XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(ctx);
xmlReader.loadBeanDefinitions(new ClassPathResource(CONTEXT_PATH));

// Register the datasource 
ctx.getBeanFactory().registerSingleton(CONTEXT_DATASOURCE_BEAN_NAME, dataSource);

// Get the service
ServiceInterface service = (ServiceInterface) ctx.getBean("service");

我有 ServiceInterface 的实例,但我想要包含有关事务信息的代理。

你能解释一下我错过了什么吗?

4

1 回答 1

0

需要在 ctx.getBean() 之前调用 ctx.refresh()。然后将调用 BeanPostProcessors。

于 2012-11-07T07:45:52.617 回答