[06] Bean属性的注入
1、先提提什么是“依赖注入”
Boy boy = new Boy();
Dog dog = new Dog();
boy.setDog(dog);
Boy boy = new Boy();
Dog dog = new Dog();
boy.setDog(dog);
<bean id="boy" class="dulk.learn.spring.Boy">
<property name="dog" ref="dog"></property>
</bean>
<bean id="dog" class="dulk.learn.spring.Dog"></bean>
<bean id="boy" class="dulk.learn.spring.Boy">
<property name="dog" ref="dog"></property>
</bean>
<bean id="dog" class="dulk.learn.spring.Dog"></bean>
2、Bean属性的注入方式
- 手动注入
- 自动匹配
2.1 手动注入
2.1.1 setter
- 基本类型注入
- Spring组件类型注入
- 集合类型注入
2.1.1.1 基本注入类型
<bean id="dog" class="dulk.learn.spring.Dog">
<property name="name" value="旺财"></property>
</bean>
<bean id="dog" class="dulk.learn.spring.Dog">
<property name="name" value="旺财"></property>
</bean>
2.1.1.2 Spring组件类型注入
<bean id="boy" class="dulk.learn.spring.Boy">
<property name="dog" ref="dog"></property>
</bean>
<bean id="dog" class="dulk.learn.spring.Dog">
<property name="name" value="旺财"></property>
</bean>
<bean id="boy" class="dulk.learn.spring.Boy">
<property name="dog" ref="dog"></property>
</bean>
<bean id="dog" class="dulk.learn.spring.Dog">
<property name="name" value="旺财"></property>
</bean>
2.1.1.3 集合类型注入
<bean id="boy" class="dulk.learn.spring.Boy">
<property name="dog" ref="dog"></property>
<property name="bookList">
<list>
<value type="java.lang.String">《水浒传》</value>
<ref bean="beanName"/>
<null></null>
</list>
</property>
</bean>
<bean id="dog" class="dulk.learn.spring.Dog">
<property name="name" value="旺财"></property>
</bean>
<bean id="boy" class="dulk.learn.spring.Boy">
<property name="dog" ref="dog"></property>
<property name="bookList">
<list>
<value type="java.lang.String">《水浒传》</value>
<ref bean="beanName"/>
<null></null>
</list>
</property>
</bean>
<bean id="dog" class="dulk.learn.spring.Dog">
<property name="name" value="旺财"></property>
</bean>
<bean id="boy" class="dulk.learn.spring.Boy">
<property name="dog" ref="dog"></property>
<property name="scoreMap">
<map>
<entry key="数学" value="99"></entry>
<entry key="语文" value="75"></entry>
<entry key-ref="beanId" value-ref=""></entry>
</map>
</property>
</bean>
<bean id="boy" class="dulk.learn.spring.Boy">
<property name="dog" ref="dog"></property>
<property name="scoreMap">
<map>
<entry key="数学" value="99"></entry>
<entry key="语文" value="75"></entry>
<entry key-ref="beanId" value-ref=""></entry>
</map>
</property>
</bean>
<property name="properties">
<props>
<prop key="username">zhangsan</prop>
<prop key="password">123456</prop>
</props>
</property>
<property name="properties">
<props>
<prop key="username">zhangsan</prop>
<prop key="password">123456</prop>
</props>
</property>
2.1.2 构造器
<bean id="coder" class="dulk.learn.spring.Coder">
<constructor-arg index="0" value="Dulk"></constructor-arg>
<constructor-arg index="1" value="27"></constructor-arg>
</bean>
<bean id="coder" class="dulk.learn.spring.Coder">
<constructor-arg index="0" value="Dulk"></constructor-arg>
<constructor-arg index="1" value="27"></constructor-arg>
</bean>
2.2 自动注入
<bean id="beanId" class="className" autowire="${type}"></bean>
<bean id="beanId" class="className" autowire="${type}"></bean>
- byType
- byName
- constructor
[06] Bean属性的注入的更多相关文章
- spring实战一:装配bean之注入Bean属性
内容参考自spring in action一书. 创建应用对象之间协作关系的行为通常称为装配,这也是依赖注入的本质. 1. 创建spring配置 spring是一个基于容器的框架.如果没有配置spri ...
- 依赖注入Bean属性
一.Bean属性依赖注入 对于类成员变量,注入方式有三种 •构造函数注入 •属性setter方法注入 •接口注入 Spring支持前两种 1.构造函数 属性注入 使用构造方法注入,在Spring配置文 ...
- Spring学习笔记之 Spring IOC容器(一)之 实例化容器,创建JavaBean对象,控制Bean实例化,setter方式注入,依赖属性的注入,自动装配功能实现自动属性注入
本节主要内容: 1.实例化Spring容器示例 2.利用Spring容器创建JavaBean对象 3.如何控制Bean实例化 4.利用Spring实现bean属性sett ...
- Spring入门(4)-注入Bean属性
Spring入门(4)-注入Bean属性 本文介绍如何注入Bean属性,包括简单属性.引用.内部Bean.注入集合等. 0. 目录 注入简单值 注入引用 注入内部Bean 装配集合 装配空值 使用命名 ...
- Spring学习笔记--注入Bean属性
这里通过一个MoonlightPoet类来演示了注入Bean属性property的效果. package com.moonlit.myspring; import java.util.List; im ...
- Spring学习(五)-----注入bean属性的三种方式( 1: 正常的方式 2: 快捷方式 3: “p” 模式)
在Spring中,有三种方式注入值到 bean 属性. 正常的方式 快捷方式 “p” 模式 看到一个简单的Java类,它包含两个属性 - name 和 type.稍后将使用Spring注入值到这个 b ...
- Spring注入日期到bean属性-CustomDateEditor
这一个Spring例子向您展示如何为bean属性注入一个“日期”. package com.yiibai.common; import java.util.Date; public class Cus ...
- 如何注入值到Spring bean属性
在Spring中,有三种方式注入值到 bean 属性. 正常的方式 快捷方式 “p” 模式 看到一个简单的Java类,它包含两个属性 - name 和 type.稍后将使用Spring注入值到这个 b ...
- spring学习笔记之---bean属性注入
bean属性注入 (一)构造方法的属性注入 1.Student.java package entity; public class Student { private String name; pri ...
随机推荐
- Python 练习:三级菜单选择城市(二)
优化了上一个三级菜单选择城:http://www.cnblogs.com/klvchen/p/8646466.html info = { 'GuangDong':{ 'GuangZhou': ['Ti ...
- 【20190123】JavaScript-轮播图特效中出现的问题
使用纯html和JavaScript实现焦点轮播图特效,本来之前用setInterval()函数写的一个简单的循环轮播图,但是出现了两个问题: 1. 当网页被切换时,也就是网页失去焦点时,计时器函 ...
- 【面试】Python面试题库
https://blog.csdn.net/ChenVast/article/details/81451460 第一部分 Python基础篇(80题) 为什么学习Python? 通过什么途径学习的Py ...
- ArcGIS for Server 的修改IP问题
ArcGIS for Server 的修改IP问题 1. [arcgisserver@centos6 ~]$ vi /home/arcgisserver/serverconfig/config ...
- 在Apex中使用sObject
sObject对象的定义 Salesforce中的标准对象或自定义对象在Apex中使用时被称作"sObject".sObject对象的一个实例相当于Salesforce中的一条记录 ...
- Windows中几个内存相当的指标
以下几个内存大小相当: IS:虚拟内存任务管理器:提交内存进程对象上的:PrivateMemorySize64,性能计数器:Process\Private Bytes
- Clumsy 利用无线网卡结合Clumsy软件模拟弱网络测试
利用无线网卡结合Clumsy软件模拟弱网络测试 by:授客 QQ:1033553122 实践环境 Clumsy 0.2 下载地址:http://jagt.github.io/clumsy/downlo ...
- Java:【面向对象:抽象类,接口】
本文内容: 抽象类 接口 抽象类与接口的异同 首发日期:2018-03-24 抽象类: 虽然已经有了父类,但有时候父类也是无法直接描述某些共有属性的,比如哺乳类和人类都会叫,而一般来说哺乳类这个父类并 ...
- solr-query
解释: 1.query:获取全部数据的SQL 2.deltaImportQuery:获取增量数据时使用的SQL 3.deltaQuery:获取pk的SQL 4.parentDeltaQuery:获取父 ...
- Tensorflow实现稀疏自动编码(SAE)
1.概述 人在获取图像时,并不是像计算机逐个像素去读,一般是扫一眼物体,大致能得到需要的信息,如形状,颜色,特征.怎么让机器也有这项能力呢,稀疏编码来了. 定义: 稀疏自编码器(Sparse Auto ...