Spring——bean标签


简介

  Spring:将对象配置到容器内,通过容器获取对象!

使用

  1. Spring需要在resource中使用applicationContext.xml进行配置。

  2. 编写Java类

  2. 使用标签配置对象。

标签

  作用:在spring容器中配置对象。

  属性

    id:bean在Spring内的唯一标识

    class:全限定类名

    scope:对象的操作范围

      singleton:默认,单例。容器中该对象唯一。生命周期:随applicationContext加载时创建,applicationContext销毁时销毁

      prototype:多例。容器中该对象多例。声明周期:调用applicationContext.getBean("id")时创建,对象不使用时销毁。

  内部标签

    

      作用:对bean对象的成员变量初始化。使用set方法

      属性

        name:set的方法名。

        ref:引用spring容器内对象

    

      作用:对bean对象的成员变量初始化。使用有参构造方法

      属性

        name:有参构造参数名

        ref:应用spring容器内对象

基本数据类型,引用数据类型,集合类型等成员变量的初始化

  从上可知:初始化成员变量有代表set方法。代表有参构造。对于引用数据类型初始化使用ref属性,引用spring容器内对象即可。

  基本数据类型:

    中使用value=""属性赋值

      String username;

          

  引用数据类型:

    List:使用标签赋值。 Map使用标签赋值

      List strArray

    

      

        aaa

      

    

      Map bookMap

    

      

        :key:键。ref:引用spring容器内对象

      

    

使用

<?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 http://www.springframework.org/schema/beans/spring-beans.xsd">
    <bean id="user1" class="xyz.javaswing.spring03.domain.User">
        <property name="username" value="张三"/>
        <property name="age" value="17"/>
        <property name="strArray">
            <list>
                <value>aaavalue>
                <value>bbbvalue>
                <value>cccvalue>
            list>
        property>
    bean>

    <bean id="user2" class="xyz.javaswing.spring03.domain.User">
        <property name="username" value="李四"/>
        <property name="age" value="18" />
        <property name="strArray">
            <list>
                <value>111value>
                <value>222value>
                <value>333value>
            list>
        property>
    bean>

    <bean id="book" class="xyz.javaswing.spring03.domain.Book">
        <property name="bookName" value="三国演义"/>
        <property name="author" value="罗贯中"/>
        <property name="map">
            <map>
                <entry key="a" value="1">entry>
                <entry key="b" value="2">entry>
                <entry key="c" value="3">entry>
            map>
        property>
    bean>

    <bean id="userDao" class="xyz.javaswing.spring03.dao.UserDao">bean>
    <bean id="bookDao" class="xyz.javaswing.spring03.dao.BookDao">bean>

    <bean id="userService" class="xyz.javaswing.spring03.service.UserService">
        <property name="userDao" ref="userDao"/>
    bean>

    <bean id="bookService" class="xyz.javaswing.spring03.service.BookService">
        <property name="bookDao" ref="bookDao"/>
    bean>
    
beans>

  

  import:导入其他模块的applicationContext配置文件