Java注解scope和TransactionConfiguration经常要在项目中应用,对于scope的使用,我到现在还没有彻底弄明白,虽然我已经研究出是表示多例还是单例,然而我模糊的是何时我该用单例何时用多例,我会混淆,而TransactionConfiguration注解比较简单,用来配置使用哪一个事务管理器。
scope
在Java项目中,该注解表示该类的生命周期,其值为singleton(单例模式)和prototype(多例模式),简单来说,假如现在存在一个OrderService,该类使用单例模式,那么按照如下测试,可以看出
@Service
@Scope
public class OrderService {
public void sayMyName() {
System.out.println("MyName: " + this);
}
}
public static void main(String[] args) {
SpringUtils.getSpringContext();
SpringUtils.getBeansByClassType(OrderService.class).sayMyName();
SpringUtils.getBeansByClassType(OrderService.class).sayMyName();
SpringUtils.getBeansByClassType(OrderService.class).sayMyName();
}
debug日志: