组件注册-@Scope-设置组件作用域
Spring创建的bean默认是Singleton单实例的,通过@Scope来设置
@Configuration public class MainConfig2 { @Scope("prototype") @Bean("person") public Person person() { System.out.println("person 被创建"); return new Person(15, "zhangsan"); } }
public void test02() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MainConfig2.class); System.out.println("IOC容器创建完成"); Person bean1 = (Person) context.getBean("person"); Person bean2 = (Person) context.getBean("person"); System.out.println(bean1 == bean2); }
IOC容器创建完成 person 被创建 person 被创建 false
单例的输出结果为
person 被创建 IOC容器创建完成 true
从结果可以看出,单例情况下IOC容器在启动的时候就会创建对象容器中。而在多例下,IOC容器在启动的时候不会创建对象,每次获取的时候才会去创建对象
posted on 2019-05-23 15:46 星辰钟塔的玛利亚女士 阅读(114) 评论(0) 编辑 收藏 举报