【发布时间】:2012-08-04 15:07:39
【问题描述】:
我只是无法理解。带有@Serviced 标记并由@ComponentScan 在应用程序上下文中注册的bean 是否通过@Transaction 注解代理事务支持?
这很好用:
public class LocationManagerImpl implements LocationManager {
@Transactional
public void saveLocation(Location location) {
}
}
//config class
@Bean
public LocationManager locationManager() {
return new LocationManagerImpl();
}
这不是:
@Service
public class LocationManagerImpl implements LocationManager {
@Transactional
public void saveLocation(Location location) {
}
}
【问题讨论】:
-
ComponentScan 注解用于@Configuration 类。你的应用上下文中有 context:component-scan 吗?
-
我的配置是基于注释的,我在标记为 \@Configuration 的类中应用 \@ComponentScan。服务已创建,但事务支持不起作用。
-
当您使用第二种方法并尝试从上下文中获取您的 LocationManager 时,您有一个吗?它是否存在但只是没有代理交易?还是完全丢失了?
-
你是如何引导@Configuration 类的?
-
@jeff 没有丢失,没有代理交易。
标签: spring configuration transactions annotations