我有一個@RestController,它有一個注入的@Service bean。我無法理解控制器及其服務的使用壽命。它是基於每個請求的嗎?還是比那更長?我對Spring很陌生,如何管理bean。Spring Boot @RestController和注入@Service的壽命是多少?
@RestController
class AppController {
private final AppService appService
AppController(AppService appService) {
this.appService = appService
}
...
}
@Service
class AppService {
private final DataSource dataSource
AppService(DataSource dataSource) {
this.dataSource = dataSource
}
private Sql getSql() {
new Sql(dataSource.connection)
}
...
}
我想問的原因是因爲我們實例化服務中的SQL連接,我很好奇,如果我可以memoize的和重複使用的連接,或者如果我將每個請求需要立即關閉一個實例。
春季啓動1.5.2
如果您沒有爲Spring組件指定範圍,則默認範圍是'singleton'。 – Strelok