起因
偶然间,用到了@Configuration
创建Bean
,对于@Configuration
又学到了一些知识点。
单例模式
网上查资料,理解有误差,以为单例模式一个类只有一个实例,只能创建一个Bean;但是如果同一个类需要创建多个对象的时候,该怎么办?
后来经过大佬的点拨,再加上查找资料,发现:
在Spring中,bean可以被定义为两种模式:prototype(多例)和singleton(单例)。
singleton(单例):只有一个共享的实例存在,所有对这个bean的请求都会返回这个唯一的实例。
prototype(多例):对这个bean的每次请求都会创建一个新的bean实例,类似于new。
Spring bean 默认是单例模式。
Spring下默认的bean均为singleton,可以通过singleton=“true|false” 或者 scope="?"来指定。
废话少说,上代码,同一个类怎么创建多个Bean。
@Configuration
public class MyConfig
{
@Bean
public UserDao createUserDao ()
{
return new UserDao();
}
@Bean
public UserD