【发布时间】:2013-04-28 09:47:27
【问题描述】:
AFAIK,Spring bean(版本 3 及更高版本),如果未指定,都是单例。因此,我担心的是,例如,当使用@Repository(在访问数据库资源的类中)或@Service(在执行验证和业务逻辑的类中)时,这些对象将可供应用程序中的所有用户使用万一并发访问?
提前谢谢...
【问题讨论】:
标签: spring spring-mvc concurrency
AFAIK,Spring bean(版本 3 及更高版本),如果未指定,都是单例。因此,我担心的是,例如,当使用@Repository(在访问数据库资源的类中)或@Service(在执行验证和业务逻辑的类中)时,这些对象将可供应用程序中的所有用户使用万一并发访问?
提前谢谢...
【问题讨论】:
标签: spring spring-mvc concurrency
是的,这些对象将被同时访问。所以它们必须以线程安全的方式编码。但这很简单,因为它们通常是无状态的,除了它们在启动时由 Spring 注入的依赖项。
【讨论】:
@Repository 或@Service 注释一个类,默认情况下将它们设为单例......所以这是我主要关心的问题:如果每次我调用/调用它们,我都会有不同的实例……还是同一个实例?