:
- 当定义了一个bean的类,并且在配置文件中使用了<bean>标签来声明该bean时,Spring将会创建一个该类的实例作为一个bean。
- 当定义了一个bean的类,并且在配置文件中使用了@Component或者其他注解来标记该类时,Spring将会自动扫描并创建该类的实例作为一个bean。
- 当定义了一个bean的类,并且在配置文件中使用了@Bean注解来声明该bean时,Spring将会调用该方法返回的对象作为一个bean。
- 当定义了一个bean的类,并且在配置文件中使用了<bean>标签的scope属性来指定作用域为prototype时,每次从容器中获取该bean时,Spring将会创建一个新的实例。
- 当定义了一个bean的类,并且在配置文件中使用了<bean>标签的lazy-init属性为true时,只有在第一次使用该bean时,Spring才会创建该bean的实例。
- 当定义了一个bean的类,并且在配置文件中使用了<bean>标签的depends-on属性来指定依赖关系时,Spring将会按照指定的顺序创建这些bean的实例。
- 当定义了一个bean的类,并且在配置文件中使用了<bean>标签的autowire属性来指定自动装配方式时,Spring将会根据指定的方式创建该bean的实例。
总结起来,创建多少个spring beans取决于配置文件中的bean定义数量和配置方式,以及在运行时获取bean的方式和作用域设置。