Spring装配Bean -- 通过XML装配Bean

原创 2018年04月16日 16:35:16

创建XML配置规范

        最简单的Spring XML配合如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

</beans>

        用来装配Bean的最基本的XML元素包含在Spring-Beans模式之中,在XML文件中,本定义为根命名空间.<beans>是该模式中的一个元素,它是所有Spring配置文件的根元素.


声明一个简单的<bean>

<bean id="beatlesCD" class="main.java.Demo1.BeatlesCD"/>

        这声明一个简单的Bean,创建该Bean的类用过class属性来指定,使用全限定的类名.id属性用来给bean命名.


借助构造器注入初始化Bean

        1.<constructor-arg>元素

        2.使用Spring3.0所引入的c-命名空间

        第一种比第二种冗长繁琐


构造器注入Bean引用:

<bean id="cdPlayer" class="main.java.Demo1.CDPlayer">
    <constructor-arg ref="beatlesCD"/>
</bean>

        以上为对CDPlayer Bean的声明,引用上面beatlesCD Bean的引用.

        当Spring遇到这个<bean>元素时,它会创建一个CDPlayer的实例.<constructor-arg>元素会告知Spring要将一个ID为"beatlesCD"的Bean的引用传递给CDPlayer的构造器中.

        还可将字面量(常量)注入到构造器中,如下:        

    <bean id="cdPlayer" class="main.java.Demo1.CDPlayer">
        <constructor-arg ref="beatlesCD"/>
        <constructor-arg value="value"/>
    </bean>

        value属性表明给定的值要以字面量的形式注入到构造器中.

        装配集合:如果构造器需要一个集合如List,可用如下方式:

    <bean id="cdPlayer" class="main.java.Demo1.CDPlayer">
        <constructor-arg ref="beatlesCD"/>
        <constructor-arg>
            <list>
                <value>Demo1</value>
                <value>Demo2</value>
            </list>
        </constructor-arg>
    </bean>

        集合中的类型也可是其他Bean.


Setter方法设置属性:

        上述Bean的声明完全是通过构造器注入的,没有使用属性的Setter方法.下面例子是如何用Setter方法实现属性注入.

    <bean id="cdPlayer" class="main.java.Demo1.CDPlayer">
        <property name="cd" ref="beatlesCD"/>
    </bean>

        <property>元素为属性的Setter方法所提供的功能与<constructor-arg>元素为构造器所提供的功能是一样的.

        Setter方法同样也可以将字面量注入到属性中:

  <property name="name" value="vina"/>
        同样可以注入集合属性:
        <property name="names">
            <value>vina</value>
            <value>myvina</value>
        </property>

        


以上就是通过XML装配Bean的所有内容.


Spring装配bean的三种方法:自动化装配,java代码装配,XML装配及它们的混合使用

一、自动化装配        首先,把可能被装配的类声明为组件类,告知spring要为这个类创建bean如:                     import org.springframewor...
  • qq_37372007
  • qq_37372007
  • 2017-07-31 00:38:45
  • 442

spring装配Bean(基于xml)

装配Bean(基于xml) 一、实例化方式 1、默认构造   必须提供默认构造 l  在spring容器中配置 ...
  • CSDN_GIA
  • CSDN_GIA
  • 2017-01-25 22:51:41
  • 965

Spring的《XML显式装配bean》之通过构造器注入Bean

本文主要讲解两点: 1.怎么样声明一个bean 2.通过构造器注入bean 1. 怎么样声明一个bean?1) 创建一个类:package spring.ch1.topic5;public...
  • u010853261
  • u010853261
  • 2017-01-21 16:10:07
  • 636

第2章 装配Bean---xml和javaConfig混合使用装配---笔记5

概述: 在典型的Spring应用中,我们可能会同时使用自动化和显式配置。即便你更喜欢通过JavaConfig实现显式配置,但有的时候XML却是最佳的方案。 来个珠帘合璧 1.在jav...
  • m0_37355951
  • m0_37355951
  • 2017-06-20 15:42:52
  • 402

通过Java代码装配bean【Spring 入门】

在很多时候,我们无法更改他人的源码来实现自动装配,这时,我们可以使用Java代码写配置文件进行装配。 以下是Java配置文件的写法示例:package com.yykj.soundsystem.co...
  • L_BestCoder
  • L_BestCoder
  • 2017-02-23 20:43:45
  • 499

【Spring】装配Bean-(1)-使用XML配置

Spring配置
  • robinjwong
  • robinjwong
  • 2014-05-11 23:18:36
  • 6028

Spring学习-装配Bean

前言今天开始系统学习Spring框架,使用的书籍是Spring in action中文版。之前已有一定的Spring基础,有些部分可能不会记录的非常详细。依赖注入(前言)依赖注入将对象的使用和对象的管...
  • y492235584
  • y492235584
  • 2016-06-14 15:42:42
  • 2122

Spring学习笔记之通过Java代码装配Bean

虽然很多场景下可以使用组件扫描和自动装配来实现Spring的自动化配置,但有些时候自动化配置的方案是行不通的,因此需要明确配置Spring。比如你想讲第三方库中的组件装配到你的应用中,在这种情况下,你...
  • huzhanfei
  • huzhanfei
  • 2016-10-20 17:03:28
  • 572

Spring - 装配Bean:即依赖注入

装配Bean:即依赖注入在Spring中,对象间的协作是通过IoC机制完成的。反向控制也叫依赖注入(Dependency Injection,DI),简单来说就是将JavaBean需要的对象通过配置文...
  • LeosHope
  • LeosHope
  • 2007-10-30 22:15:00
  • 5707
收藏助手
不良信息举报
您举报文章:Spring装配Bean -- 通过XML装配Bean
举报原因:
原因补充:

(最多只允许输入30个字)