创建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>

Spring_用Spring容器创建对象并给属性赋值的更多相关文章

  1. spring(四):spring中给bean的属性赋值

    spring中给bean的属性赋值 xml文件properties标签设置 <bean id="student" class="com.enjoy.study.ca ...

  2. Spring注解 - 生命周期、属性赋值、自动装配

    一.Bean的生命周期 流程 Bean创建 -- 初始化 -- 销毁 创建: 单实例:在容器启动时创建对象 多实例:每次调用时创建对象 初始化: 都是在对象创建完成后,调用初始化方法 销毁: 单实例: ...

  3. Spring笔记(2) - 生命周期/属性赋值/自动装配及部分源码解析

    一.生命周期 @Bean自定义初始化和销毁方法 //====xml方式: init-method和destroy-method==== <bean id="person" c ...

  4. Spring配置Bean,为属性赋值

    SayHello的实体类: package com.langchao; /** * @ClassName: SayHello * @description: * @author: ZhangYawei ...

  5. spring容器IOC创建对象<二>

    问题?spring是如何创建对象的?什么时候创建对象?有几种创建方式?测试对象是单例的还是多例的 ?对象的初始化和销毁? 下面的四大模块IOC的内容了!需要深刻理解 SpringIOC定义:把对象的创 ...

  6. Spring的核心之IoC容器创建对象

    Spring的Ioc容器,是Spring的核心内容: 作用:对象的创建和处理对象的依赖关系. Spring容器创建对象有以下几种方式: 1:调用无参数的构造器 <!-- 默认无参的构造器 --& ...

  7. Spring_01 spring容器、控制反转(IOC)、依赖注入(DI)

    目录 1 什么是spring框架 2 spring框架的特点 3 spring容器 3.1 什么是spring容器 3.2 spring容器创建对象的编程步骤 3.4 spring容器创建对象的方式 ...

  8. Spring IoC 属性赋值阶段

    前言 本系列全部基于 Spring 5.2.2.BUILD-SNAPSHOT 版本.因为 Spring 整个体系太过于庞大,所以只会进行关键部分的源码解析. 本篇文章主要介绍 Spring IoC 容 ...

  9. 使用Spring容器动态注册和获取Bean

    有时候需要在运行时动态注册Bean到Spring容器,并根据名称获取注册的Bean.比如我们自己的SAAS架构的系统需要调用ThingsBoard API和Thingsboard交互,就可以通过Thi ...

随机推荐

  1. scala中Tuple简单使用

    /** * Tuple简单使用记录 * 最大22个参数 */ object TupleUse { def main(args: Array[String]): Unit = { // 简单Tuple ...

  2. Linux tee命令使用详解分享

    tee命令主要被用来向standout(标准输出流,通常是命令执行窗口)输出的同时也将内容输出到文件,下面是tee的man 信息 read from standard input and write ...

  3. java在使用equals的时候一种习惯帮忙隔离大部分空指针

    相同的一段代码: 所以,在平时编码的时候,尽量把需要比对的不为空的放在equal前面,比如判断 i 是否等于 1,那么使用 1.equals(i) 更为合适,在equals源码中 传入的是object ...

  4. Ubuntu 更新错误修复大全

    合并列表问题 当你在终端中运行更新命令时,你可能会碰到这个错误“合并列表错误”,就像下面这样: E:Encountered a section with no Package: header, E:P ...

  5. BCB编写DLL终极手册

    一. 编写 DLL File/New/Dll 生成 Dll 的向导,然后能够添加导出函数和导出类 导出函数:extern "C" __declspec(dllexport) Exp ...

  6. 如何在select标签中使用a标签跳转页面

    1. 需求: 在select中想直接使用a标签跳转,错误想法 <select id=""> <option>choose one</option> ...

  7. maven项目引入外部第三方jar包,引入、本地编译、第三方jar一起打到jar中、在linux机器中解决classnotfound(配置classpath),笔记整理。

    文章目录 引用的第三方jar的目录结构(示例) 引入第三方jar进行dependency使项目内能import 本地编译 第三方jar一起打到jar中 在linux机器中解决classnotfound ...

  8. STL容器set用法以及codeforces 685B

    以前没怎么用过set,然后挂训练赛的时候发现set的妙用,结合网上用法一边学一边写. 首先set是一种容器,可以跟其他STL容器一样用 set<int > s 来定义, 它包含在STL头文 ...

  9. 一个小村庄的烦恼(netty-nio)

    背景:一座大山有个小村庄,住着几百户人家,隔着大山那边几十里山路,有个小集市,家家户户经常翻山越岭买日用品,苦不堪言(同步阻塞,单线程,每户人家一个线程,去赶集了,今天也干不了别的活). 后来村长看着 ...

  10. Static 关键字的 5 种用法,你会几种?

    );                      System.out.println(Thread.currentThread().getName()                         ...