[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 ...
随机推荐
- Spring装配bean(在java中进行显式配置)
1.简单介绍 Spring提供了三种装配机制: 1.在XML中进行显式配置: 2.在java中进行显式配置: 3.隐式的bean发现机制和自动装配. 其中,1和3项在项目中经常使用,而在java中进行 ...
- css制作表格
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Loadrunner 脚本开发-从文件读取数据并参数化
脚本开发-从文件读取数据并参数化 by:授客 QQ:1033553122 直接上代码: char* testfn() { int count, total = 0; //char buffer[1 ...
- 《Inside C#》笔记(七) Attribute
Attribute特性可以说是具有开创新的意义,因为一般的语言在被设计出来后,它所具有的能力就已经固定了.而借助Attribute特性,我们可以为C#已有的类型附加信息,既可以在编程时(design- ...
- Google Chrome 下载&绿化&增强
Chrome下载 Google Chrome 已经可以在线更新,虽然比较慢! 国内常用的更新地址有两处:chromedownloads 和 shuax(耍下): https://www.chromed ...
- The ADB instructions
adb kill-server 杀死adb服务. adb start-server 开启adb服务. adb install xxx.apk 安装应用. adb uninstall 应用的包名.卸载应 ...
- 13.2、进程的通信:Queue、Pipe、
内容相关: 概念:进程的通信 Queue:创建与使用 Pipe:创建与使用 进程通信的概念 进程的资源空间是相互独立的,一般而言是不能相互访问的.但很多情况下进程间需要互相通信,来完成系统的某项功能. ...
- Python之随机梯度下降
实现:# -*- coding: UTF-8 -*-""" 练习使用随机梯度下降算法"""import numpy as npimport ...
- 【HANA系列】SAP HANA XS使用JavaScript数据交互详解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA XS使用Jav ...
- Markdown图片存储解决方法-利用阿里云OSS
我们在用markdown写一些博客或者文章的时候,常常需要引用一些图片,一般都是找一个免费的图床上传,然后复制图片链接在我们的markdown文章中.类似像这样: 存在的隐患 一般的免费图片托管网站有 ...