[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 ...
随机推荐
- 微信 H5 支付流程以及一些坑
原文:https://blog.niceue.com/front-end-development/wechat-h5-payment-process-as-well-as-some-pits.html ...
- Stackoverflow 珠玑:用于分组的 LINQ 扩展方法
从 stackoverflow.com 上抄来的,将 IEnumerable 中的元素进行切分的方法,无动态内存分配,地球上最快的实现: public static class LinqExtensi ...
- JMeter 扩展JMeter插件获取更多监听器
扩展Jmeter插件获取更多监听器 by:授客 QQ:1033553122 为了获取更多监听器,方便的监控系统及应用,有必要安装第三方插件. 插件下载地址: https://jmeter-plugin ...
- 使用openssl在windows 10下本地xampp配置https开发环境
安装win64OpenSSL-1_1_0j后重新启动:以管理员权限启动powershell; 执行以下命令 set OPENSSL_CONF=c:\xampp\apache\conf\openssl. ...
- Git的gc功能
http://blog.csdn.net/lihuanshuai/article/details/37345565 Git的底层并没有采用 CVS.SVN 底层所采用的那套增量式文件系统,而是采用一套 ...
- 解决windows下git push卡住问题的方法
问题描述: 在windows下向使用git协议传输的Git Repo进行push时会卡住. -- 这是windows上的msysgit的bug,在新版本上已经修复,但要在.gitconfig中做一项配 ...
- Postgresql - jsonb_pretty & dateStyle
1. SHOW datestyle; DateStyle ----------- ISO, MDY(1 row) INSERT INTO container VALUES ('13/01/2010') ...
- 4.8 Sublime Text3 中配置 Python环境 --之下Sublime配置Python环境
返回总目录 目录: 1.没有配置之前 2.安装Package Control插件 3.安装其他库: 4.配置其他操作: (一)没有配置之前: 我们试着运行以下,会效果怎么样? 1.首先选择Python ...
- asp.net mvc项目使用spring.net发布到IIS后,在访问提示错误 Could not load type from string value 'DALMsSql.DBSessionFactory,DALMsSql'.
asp.net mvc项目使用spring.net发布到IIS后,在访问提示错误 Could not load type from string value 'DALMsSql.DBSessionFa ...
- 转 VMware虚拟机三种联网方式(图文详细解说)
原文地址https://blog.csdn.net/lucienduan/article/details/38233147 VMware三种网络模式联网 首先说一下VMware的几个虚拟设备 安装了V ...