目录

一、spring容器使用的业务场景

  1、xml配置

  2、java类

  3、输出结果

  4、总结

 


前言:通过写了两篇博文Spring源码分析之一BeanFactory相关spring源码分析之BeanDefinition相关两篇博文后,我们真正要探究的主题才要开始了。接下来让我们以一个常见的业务场景为例子 以XML的形式一步一步揭开spring容器的使用的神秘面纱。

一、spring容器使用的业务场景

  1、xml配置

<?xml version="1.0" encoding="UTF-8"?>
<!-- 从 xsi:schemaLocation中值得后缀可以看出次xml验证模式是xsd模式 -->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

	<!-- xml的形式声明一个需要spring容器帮我们管理的bean实例 -->
	<bean id="worker" class="com.xiu.bean.Worker" >
		<property name="name" value="索隆" />
	</bean>
    </beans>

  2、java类

         

//需要spring管理的bean
public class Worker {
	private String name;

	public Worker(){
		System.out.println("the worker object is finish");
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getName() {
		return name;
	}
}

//测试类
@Test
 public void testGetBean(){
        //创建beanFactory对象工厂
	XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-beans.xml"));
        //从工厂中获取对应的bean实例
	Worker worker = beanFactory.getBean("worker", Worker.class);
}    

  3、输出结果

  4、总结

          总的来说我么需要分析测试方法中的两行代码,看似简单的两行但是分析起来代码很庞大,这大概就是源码分析让人又爱又恨的魔力吧。鉴于篇幅较长,两行代码一行代码一篇博文来介绍

  1. XmlBeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-beans.xml"));
  2. Worker worker = beanFactory.getBean("worker", Worker.class);

  第一行代码到底做了那些功能呢?让我们一起来探究一下吧。

 

Logo

一站式虚拟内容创作平台,激发创意,赋能创作,进入R空间,遇见同道,让优质作品闪耀发光。​

更多推荐