Spring第一节——Spring如何创建对象以及创建方式的异同

在Java中直接创建对象会提高耦合度,而Spring采用映射方式创建对象可降低耦合度。Spring里,ApplicationContext和BeanFactory作为容器创建xml文件中的bean类。二者都能用getBean方法创建对象,BeanFactory是父类。不同的是,ApplicationContext初始化时一次性装配所有对象,效率高但费内存;BeanFactory采用延迟加载策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在之前的java语言中,若想创建一个对象,可以使用下列的代码

Person stu=new Student();
//person 作为接口

这种方式出现了实现类的名称,提高了耦合度。在Spring中,不需要出现类名,而是使用映射的方式创建对象,降低了耦合度

在Spring中,可以用这两种方式创建对象

@Test
	public void test01()
	{
		ApplicationContext context=new ClassPathXmlApplicationContext("service/applicationContext.xml");
		StuImp student=(StuImp)context.getBean("ExitStuImp");
		student.doSome();
	}
	
	@Test
	public void test02()
	{
		
		BeanFactory factory=new XmlBeanFactory(new ClassPathResource("service/applicationContext.xml"));
		StuImp student=(StuImp)factory.getBean("ExitStuImp");
		student.doSome();
	}

ApplicationContext和BeanFactory作为容器,为程序员创建xml文件中的bean类

相同点:两个容器都能使用getBean方法创建映射文件中的对象,BeanFactory是ApplicationContext的父类

不同点

ApplicationContext:

在ApplicationContext初始化时,会把xml文件所有的对象一次性全部装配好,以后需要时随时取出使用即可,效率极高,但是浪费内存

BeanFactory:

对容器中对象的装配与加载采用延迟加载策略,即在第一次调用 getBean()时,才真正装配该对象。

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值