Spring@Autowired是否为每个新的API请求创建一个新实例?
我想知道 Spring 是否@Autowired
每次都会为新的 API 请求创建一个新实例。我正在使用@Autowired
我的服务类。
回答
不,除非您专门为请求范围创建了 bean,否则不会。
当你用注释的服务类创建一个bean @Service
,@Component
等,或通过创建实例化服务类,并标注有一个方法@Bean
的默认范围是单身。所以只会创建一个实例并将其注入到所有使用的地方@Autowired
。
如果您需要请求范围内,你需要注释的服务类或bean创建方法@RequestScope
或@Scope("request")
。这仅在 Web 应用程序上下文中受支持。