Spring注解驱动开发-组件注册04-@Lazy-bean懒加载

本文展示了Spring Boot中配置类的懒加载实现,通过`@Bean`注解创建`Person`对象,并在测试类中使用`AnnotationConfigApplicationContext`初始化容器并获取Bean。测试了单例Bean的懒加载特性,证实了容器启动时不立即创建对象,而是在首次使用时初始化。

目录

1、配置类

2、测试类


 

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);
	}
 
}

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值