一级域名做网站,电商网站开发主要设计内容,小商品网站建设,江西天亿建设有限公司网站作为 Spring 核心机制的依赖注入#xff0c;改变了传统的编程习惯#xff0c;对组件的实例化不再由应用程序完成#xff0c;转而交由 Spring 容器完成#xff0c;在需要时注入应用程序中#xff0c;从而对组件之间依赖关系进行了解耦。这一切都离不开 Spring 配置文件中使…作为 Spring 核心机制的依赖注入改变了传统的编程习惯对组件的实例化不再由应用程序完成转而交由 Spring 容器完成在需要时注入应用程序中从而对组件之间依赖关系进行了解耦。这一切都离不开 Spring 配置文件中使用的 元素。
Spring 容器可以被看作一个大工厂而 Spring 容器中的 Bean 就相当于该工厂的产品。如果希望这个大工厂能够生产和管理 Bean这时则需要告诉容器需要哪些 Bean以及需要以何种方式将这些 Bean 装配到一起。
Spring 配置文件支持两种不同的格式分别是 XML 文件格式和 Properties 文件格式。
通常情况下Spring 会以 XML 文件格式作为 Spring 的配置文件这种配置方式通过 XML 文件注册并管理 Bean 之间的依赖关系。
XML 格式配置文件的根元素是 该元素包含了多个 子元素每一个 子元素定义了一个 Bean并描述了该 Bean 如何被装配到 Spring 容器中。
定义 Bean 的示例代码如下所示
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:phttp://www.springframework.org/schema/pxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.2.xsd!-- 使用id属性定义person1其对应的实现类为com.mengma.person1 --bean idperson1 classcom.mengma.damain.Person1 /!--使用name属性定义person2其对应的实现类为com.mengma.domain.Person2--bean namePerson2 classcom.mengma.domain.Person2/
/beans在上述代码中分别使用 id 和 name 属性定义了两个 Bean并使用 class 元素指定了 Bean 对应的实现类。
元素的常用属性
属性名称描述id是一个 Bean 的唯一标识符Spring 容器对 Bean 的配置和管理都通过该属性完成nameSpring 容器同样可以通过此属性对容器中的 Bean 进行配置和管理name 属性中可以为 Bean 指定多个名称每个名称之间用逗号或分号隔开class该属性指定了 Bean 的具体实现类它必须是一个完整的类名使用类的全限定名scope用于设定 Bean 实例的作用域其属性值有 singleton单例、prototype原型、request、session 和 global Session。其默认值是 singletonconstructor-arg元素的子元素可以使用此元素传入构造参数进行实例化。该元素的 index 属性指定构造参数的序号从 0 开始type 属性指定构造参数的类型property元素的子元素用于调用 Bean 实例中的 Set 方法完成属性赋值从而完成依赖注入。该元素的 name 属性指定 Bean 实例中的相应属性名ref 和 等元素的子元索该元素中的 bean 属性用于指定对 Bean 工厂中某个 Bean 实例的引用value 和 等元素的子元素用于直接指定一个常量值list用于封装 List 或数组类型的依赖注入set用于封装 Set 类型属性的依赖注入map用于封装 Map 类型属性的依赖注入entry 元素的子元素用于设置一个键值对。其 key 属性指定字符串类型的键值ref 或 value 子元素指定其值