跟singleton是一樣的,但範圍更廣,這個instance可以被用在同一個servelet context的多的servlet base中

@Bean
@ApplicationScope
public Person personApplication() {
    return new Person();

websocket

當websocket第一次連線時建立,跟singleton是一樣的,但只存在這個websocket session內

@Bean
@Scope(scopeName = "websocket", proxyMode = ScopedProxyMode.TARGET_CLASS)
public Person personWebsocket() {
    return new Person();

@Bean是用在method的annotation,將method回傳的instance存成一個Bean

reference
https://www.baeldung.com/spring-bean-scopes