• 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>
  • 相关阅读:
    Qt:绘制时,用线性渐变填充一个圆角矩形范围
    记录一个mysql数据迁移的坑
    idea中添加jar,maven有时候无法引入到jar
    img引入base64格式图片
    URL特殊符号转码_encodeURI/decodeURI
    [js] eval函数
    Modernizr
    判断对象上是否存在指定key
    Linux下格式化大于2T硬盘的方法
    win10 别人无法ping通本机设置
  • 原文地址:https://www.cnblogs.com/zhouchangyang/p/10885806.html
Copyright © 2020-2023  润新知