該文檔說明Spring的默認bean作用域是單例。RestController方法注入不支持單例(註釋驅動)
我無法找到繞過此範圍的任何方法級別注射。
利用這種配置
@Configuration
public class ApplicationConfiguration {
@Bean
public ModuleProvider getModuleProvider() {
return new ModuleProvider();
}
}
方法一(我希望兩者的結果):
@RestController
@Scope(value = "request")
@RequestMapping(value = "/application")
public class ApplicationController {
@Autowired
ModuleProvider moduleProvider;
@RequestMapping
public String showModules() {
return moduleProvider.toString();
}
}
擊中它兩次,則輸出爲..
[email protected]
[email protected]
方法二:
@RestController
@Scope(value = "request")
@RequestMapping(value = "/application")
public class ApplicationController {
@Autowired
@RequestMapping
public String showModules(ModuleProvider moduleProvider) {
return moduleProvider.toString();
}
}
擊中了兩次,輸出的是..
[email protected]
[email protected]