Spring:@PersistenceContext和@Autowired线程安全?
基于这个例子:
如果我错了,请帮助纠正我: >服务类Purchase和PurchaseDAO是由spring管理的单例 谢谢 ! >默认情况下它们是单例(当它们是Spring管理的时候),除非你已经配置了它们(从xml配置或注释你可以使用@Scope设置它).
>是和否.是的,在多个线程可以同时访问和修改它的意义上它不安全,并且不是因为它取决于数据类型而且String是不可变的(并且至少被认为是线程安全的).如果两个不同的线程试图在完全相同的时刻在成员变量中存储新字符串,它可能会爆炸. >是的,不再.如果DAO没有内部状态,是的,我会说它是线程安全的,但它正在处理的对象可能不是(尽管如果你使用JPA实体,它们应该是). >至少Hibernate的文档说EntityManagers不是线程安全的,但是当使用Spring注入的EntityManager时,它应该不是问题. SpringSource forums: Hibernate: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |