目录
1、配置类
package com.atguigu.config; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Bean; import com.atguigu.bean.Person; @Configuration public class MainConfig2 { /** * 懒加载:只针对单实例的 * 1、单实例bean:默认在容器启动的时候创建对象; * 2、懒加载:容器启动不创建对象。第一次使用(获取)Bean创建对象,并初始化; */ @Bean("person") public Person person(){ System.out.println("给容器中添加Person...."); return new Person("张三", 25); } }2、测试类
package com.atguigu.test; import java.util.Map; import org.junit.Test; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import com.atguigu.bean.Person; import com.atguigu.config.MainConfig2; public class IOCTest { AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfig2.class); @Test public void test02(){ AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfig2.class); String[] definitionNames = applicationContext.getBeanDefinitionNames(); for (String name : definitionNames) { System.out.println(name); } System.out.println("ioc容器创建完成...."); Object bean = applicationContext.getBean("person"); Object bean2 = applicationContext.getBean("person"); System.out.println(bean == bean2); } }
本文展示了Spring Boot中配置类的懒加载实现,通过`@Bean`注解创建`Person`对象,并在测试类中使用`AnnotationConfigApplicationContext`初始化容器并获取Bean。测试了单例Bean的懒加载特性,证实了容器启动时不立即创建对象,而是在首次使用时初始化。

4532

被折叠的 条评论
为什么被折叠?



