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>
Spring_用Spring容器创建对象并给属性赋值的更多相关文章
- spring(四):spring中给bean的属性赋值
spring中给bean的属性赋值 xml文件properties标签设置 <bean id="student" class="com.enjoy.study.ca ...
- Spring注解 - 生命周期、属性赋值、自动装配
一.Bean的生命周期 流程 Bean创建 -- 初始化 -- 销毁 创建: 单实例:在容器启动时创建对象 多实例:每次调用时创建对象 初始化: 都是在对象创建完成后,调用初始化方法 销毁: 单实例: ...
- Spring笔记(2) - 生命周期/属性赋值/自动装配及部分源码解析
一.生命周期 @Bean自定义初始化和销毁方法 //====xml方式: init-method和destroy-method==== <bean id="person" c ...
- Spring配置Bean,为属性赋值
SayHello的实体类: package com.langchao; /** * @ClassName: SayHello * @description: * @author: ZhangYawei ...
- spring容器IOC创建对象<二>
问题?spring是如何创建对象的?什么时候创建对象?有几种创建方式?测试对象是单例的还是多例的 ?对象的初始化和销毁? 下面的四大模块IOC的内容了!需要深刻理解 SpringIOC定义:把对象的创 ...
- Spring的核心之IoC容器创建对象
Spring的Ioc容器,是Spring的核心内容: 作用:对象的创建和处理对象的依赖关系. Spring容器创建对象有以下几种方式: 1:调用无参数的构造器 <!-- 默认无参的构造器 --& ...
- Spring_01 spring容器、控制反转(IOC)、依赖注入(DI)
目录 1 什么是spring框架 2 spring框架的特点 3 spring容器 3.1 什么是spring容器 3.2 spring容器创建对象的编程步骤 3.4 spring容器创建对象的方式 ...
- Spring IoC 属性赋值阶段
前言 本系列全部基于 Spring 5.2.2.BUILD-SNAPSHOT 版本.因为 Spring 整个体系太过于庞大,所以只会进行关键部分的源码解析. 本篇文章主要介绍 Spring IoC 容 ...
- 使用Spring容器动态注册和获取Bean
有时候需要在运行时动态注册Bean到Spring容器,并根据名称获取注册的Bean.比如我们自己的SAAS架构的系统需要调用ThingsBoard API和Thingsboard交互,就可以通过Thi ...
随机推荐
- leetcood学习笔记-82-删除排序链表中的重复元素二
题目描述: 方法一: class Solution(object): def deleteDuplicates(self, head): """ :type head: ...
- 记录一次idea因为修改子模块名称而引申的一大堆问题(未完全解决)
文章目录 背景 看图说话 解决 因为这个案例引申出来的错误 修改了之后莫名出现在java 和resource文件后面出现sources root字样 修改了之后java和resource后面出现了[c ...
- java在jvm虚拟机中是如何实现多态的?
原文地址:https://blog.csdn.net/huangrunqing/article/details/51996424 众所周知,多态是面向对象编程语言的重要特性,它允许基类的指针或引用指向 ...
- selenium - 截图下载图片
from selenium import webdriver from selenium.webdriver import ChromeOptions from time import sleep f ...
- <每日一题>题目14:拷贝的问题
''' 拷贝的问题 引用:无论怎么变都一起变 浅拷贝:只拷贝父对象,不会拷贝父对象中的子对象 深拷贝:完全拷贝,重新划分内存空间 ''' 具体如下图: 题目: #求a.b.c.d的值 import c ...
- P3338 [ZJOI2014]力 /// FFT 公式转化翻转
题目大意: https://www.luogu.org/problemnew/show/P3338 题解 #include <bits/stdc++.h> #define N 300005 ...
- nput="file" 浏览时只显示指定excel文件,筛选特定文件类型
<p>显示 .xls, .xlsx, .csv 文件...</p><input type="file" accept=".csv, appl ...
- 【学术篇】NOIP2016 D1T3 luogu1850换教室
题目链接:点击这里献出你宝贵的时间(是用来做题不是捐赠Emmmm).. Emmmm我太弱了= = 做完这题我觉得我应该去打星际..这题怎么就有重边了呢.. 这题就是一道期望= =当时考场上好像完全不会 ...
- 【学术篇】oj.jzxx.net2701 无根树
这是一道来自OIerBBS的题目.. 原帖地址:http://www.oierbbs.com/forum.php?mod=viewthread&tid=512?fromuid=71 (似乎是个 ...
- SQL数据表纵横转换
SELECT DISTINCT '(select b.risk from rhwl_easy_genes_new_risk b where b.genes_id=a.id and b.disease= ...