简单介绍:
在这一章节我们会比较详细的介绍我们在之前的测试类中以及Bean管理XML配置文件中所使用到的类和方法,以及XML中配置的属性所代表的详细含义。以及之前我们反复提到但是一直没有详细的讲解的一个东西:容器。我们可以大致的有一个概念,就是容器其实就是一个类,暂时我们叫他容器类,那么我们在使用这个类创建对象的时候,我们会传入一个参数,这个参数就是我们的Bean管理XML配置文件,然后我们通过容器类对象的getBean()对象配合我们之前在Bean管理XML配置文件中添加的一些参数,我们就可以通过容器去获取对象,这就是用IoC容器创建和管理对象的大致表现流程。
那么接下来我们就对于其中的一些名词做一些比较专业的解释和对具体的步骤实践在代码中,方便我们的理解。
使用方法:
Spring IoC容器:Spring框架的主要功能是通过Spring容器实现的,Spring容器可以管理人们开发的各种Bean。
BeanFacory接口:是Spring容器的基本接口,这个接口中就包含了我们获取对象的基本方法,她的实现机制采用的是Java经典的工厂模式。这个接口的实现类是XMLBeanFacory,它可以读取XML配置文件并根据文件中的配置信息生成BeanFactory的实例。
ApplicationContext接口:这个接口是建立在BeanFactory接口的基础之上,丰富和增强了一些功能,并且可以针对单例的Bean做一个提前的预编译,曾强Bean的效率。
Bean管理XML配置文件的配置
我们可以通过让容器类去读取这个配置文件,然后根据里面某些标签和属性的搭配,通过容器类对象获取到我们想要的对象。在XML文件中的根元素是<beans>,通过她的子标签<bean>来配置与Bean相关的属性,每个<bean>标签可以定义一个Bean类,通过<bean>标签将Bean类注册到容器中。
<bean>标签提供了很多属性,其中常用的就是:
id:id属性是<bean>元素的唯一标识,getBean()方法通过这个参数锁定需要创建的对象
class:指定Bean的具体实现类,其属性值为对象所属类的全路径
scope:Bean的作用域,主要有singleton(单例)和prototype(多例)两个属性值
<bean>有很多的子元素,其中常用的有:
<property>:调用Bean示例中的setter方法给属性赋值
<constructor-age>:调用Bean的带参构造方法给属性赋值
<ref>:指定Bean工厂中的某个Bean实例的引用,给引用数据类型赋值
在XML配置文件中,一个普通的Bean通常只需要定义id(或者name)和class两个属性就可以正常使用了。
代码实现:
<?xml version="1.0" encoding="UTF-8"?>
<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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="student" class="com.spring.student">
<property name="name" value="李四"/>
<property name="id" value="1"/>
</bean>
<bean id="user" class="com.spring.user">
<property name="stu" ref="student"/>
<property name="id" value="1"/>
<property name="name" value="张三"/>
</bean>
</beans>
运行结果:
注意点:
在这一节主要是知道以一个属性的含义和这些属性的作用就可以