1. 程式人生 > >Spring_用Spring容器建立物件並給屬性賦值

Spring_用Spring容器建立物件並給屬性賦值

建立spring配置檔案:spring-config.xml。物件的建立和賦值都在這裡進行配置。

建立實體類,設定屬性

import java.util.List;
import java.util.Map;

public class BookBean {

    private Long bookId;
    private String bookName;
    private Float price;
    private List<String> fzb;
    private Map<String,String> fields;
    private CategoryBean categoryBean;  //引用另外一個實體類
     
//注意:
//如果有構造方法,建立物件時配置檔案則會你讀重寫的構造的方法,如果用setter方法賦值,則必須要過載一個空的構造方法。 public BookBean() { } public BookBean(Long bookId, String bookName, Float price) { this.bookId = bookId; this.bookName = bookName; this.price = price; }
}

 

1.建立單例物件:在整個專案執行期間,這個物件只有一個。

 <bean class="com.lanou.demo.bean.BookBean" id="book1"/>

2.建立多例物件:每次取出的物件都是一個新的物件,

 <bean class="com.lanou.demo.bean.BookBean" id="book1" scope="prototype"/>

3.建立物件是為物件屬性賦值,前提時屬性必須要有setter方法

<bean class="com.lanou.demo.bean.BookBean" id="book2">

        <property name="bookId" value="1"/>
        <property name="bookName" value="西遊記"/>
        <property name="price" value="34.4"/>

<!--為物件中的集合型別的屬性賦值-->
        <property name="fzb">
            <list>
                <value>李忠仁</value>
                <value>馬琳</value>
                <value>陳穎媛</value>
            </list>
        </property>

<!--為物件中的map型別的屬性賦值: -->
        <!--第一種方式:-->
        <property name="fields">
            <map>
                <entry key="1" value="陳新元的誕生"/>
                <entry key="2" value="陳新元的滅亡"/>
            </map>
        </property>
<!--第二種方式:-->
        <property name="fields">
            <props>
                <prop key="1">陳新元的復活</prop>
                <prop key="1">陳新元的崛起</prop>
            </props>
        </property>

<!--在一個bean中引用另外一個bean的物件,使用ref賦值-->
        <property name="categoryBean" ref="category1"/>
   </bean>

4.用構造方法給屬性賦值。

  <bean class="com.lanou.demo.bean.BookBean" id="book3">
        <!--為構造方法中bookId這個引數賦值-->
        <constructor-arg name="bookId" value="2"/>
        <constructor-arg name="bookName" value="西遊記"/>
        <constructor-arg name="price" value="45.5"/>
    </bean>

&n