Spring 使用(初始化对象和配置说明)

529 阅读1分钟

容器概述

接口org.springframework.context.ApplicationContext代表 Spring IoC 容器,并负责实例化,配置和组装 bean。容器通过读取配置元数据来获取有关要实例化,配置和组装哪些对象的指令。配置元数据以 XML,Java 注解或 Java 代码表示。它使您能够表达组成应用程序的对象以及这些对象之间的丰富相互依赖关系。

Spring 提供了ApplicationContext接口的几种实现方式。在独立应用程序中,通常创建ClassPathXmlApplicationContext或FileSystemXmlApplicationContext的实例。尽管 XML 是定义配置元数据的传统格式,但是您可以通过提供少量 XML 配置来声明性地支持这些附加元数据格式,从而指示容器使用 JavaComments 或代码作为元数据格式。

在大多数应用场景中,不需要实例化用户代码即可实例化一个 Spring IoC 容器的一个或多个实例

关于初始化对象

关于构造器

  • IoC默认以无参构造对象(在Spring中通常称为Bean)
  • 如果有有参构造,无参构造就会消失。

有3种方式实例化Bean

  1. 使用index属性可以显式指定构造函数参数的索引。例如:
<bean id="exampleBean" class="examples.ExampleBean">
    <constructor-arg index="0" value="7500000"/>
    <constructor-arg index="1" value="42"/>
</bean>

2) 使用type属性显式指定了构造函数参数的类型,则容器可以使用简单类型进行类型匹配。例如:

<bean id="exampleBean" class="examples.ExampleBean">
    <constructor-arg type="int" value="7500000"/>
    <constructor-arg type="java.lang.String" value="42"/>
</bean>

注:不推荐使用

  1. 使用name构造函数参数名称:
<bean id="exampleBean" class="examples.ExampleBean">
    <constructor-arg name="index0" value="7500000"/>
    <constructor-arg name="index1" value="42"/>
</bean>

Spring配置

别名

<alias name="exampleBean" alias="bean"/>

或者用name

<bean id="exampleBean1" class="com.spring.pojo.ExampleBean" name="bean2,f,ff;fff hh">
        <constructor-arg name="index0" value="7500000"/>
        <constructor-arg name="index1" value="42"/>
</bean>

import

引入多个配置文件,将多个配置文件合并

<import resource="beans1.xml"/>
<import resource="beans2.xml"/>
<import resource="beans3.xml"/>