In which cases do we produce a singleton-scoped bean?
Java
// A
@Bean
public SomeBean createBean() { /* ... */ }
// B
@Bean
@Scope("prototype")
public SomeBean createBean() { /* ... */ }
// C
@Bean
@Scope("singleton")
public SomeBean createBean() { /* ... */ }
// D
@Bean
@Scope("application")
public SomeBean createBean() { /* ... */ }
Kotlin
// A
@Bean
fun createBean(): SomeBean { /* ... */ }
// B
@Bean
@Scope("prototype")
fun createBean(): SomeBean { /* ... */ }
// C
@Bean
@Scope("singleton")
fun createBean(): SomeBean { /* ... */ }
// D
@Bean
@Scope("application")
fun createBean(): SomeBean { /* ... */ }