IOC容器原理

IOC容器-Bean管理XML

Bean管理:

  • Spring创建对象

  • Spring注入属性

基于xml配置文件方式

1
2
3
4
5
6
7
8
9
<bean id="" class="">
<property name="" value=""></property>
<!--set方法注入-->
</bean>

<bean id="" class="">
<constructor-arg name="" value=""></constructor-arg>
<!--有参构造注入-->
</bean>

创建对象

  • bean标签属性
    • id:标识(任取)
    • class:类路径(包类路径,基于src)
    • name:与id类似,可以带特殊符号(早期属性,少用)
  • 创建对象时默认执行无参数构造方法

注入属性

  • DI:依赖注入,注入属性(在创建对象的基础之上完成)
    • proverty标签属性
      • name:类中的属性名
      • value:要注入的值
    • constructor-arg标签
      • name:参数名
      • value:值

XML注入其他类型属性

字面量

  • null值

    1
    2
    3
    <property name="">
    </null>
    </property>
  • 属性值中包含特殊符号

    1
    2
    3
    4
    5
    6
    <!--把带特殊符号的内容写到CDATA-->
    <!--<![CDATA[value]]>-->
    <!--例如值为 <<猪猪侠>> -->
    <property name="">
    <value><![CDATA[<<猪猪侠>>]]></value>
    </property>

注入属性-外部bean

1
2
3
4
5
<bean id="" class="">
<property name="" ref="example"></property>
</bean>

<bean id="example" class=""></bean>

注入属性-内部bean和级联赋值

p名称空间注入

  • 添加P名称空间在配置文件中
  • 进行属性注入,在bean标签中进行操作