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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM