[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协议介绍
一.HTTP协议 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Interne ...
- Flutter 布局(十)- ListBody、ListView、CustomMultiChildLayout详解
本文主要介绍Flutter布局中的ListBody.ListView.CustomMultiChildLayout控件,详细介绍了其布局行为以及使用场景,并对源码进行了分析. 1. ListBody ...
- 3.网络编程-tcp的服务器简单实现
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/1/13 22:03 # @Author : ChenAdong # @ema ...
- 高德地图JS API 开发小结
项目中有一块功能要用到高德地图,所以,想把编码小结一下. 首先是地图的初始化 var map = new AMap.Map("mapDiv", { ...
- JAVA开发学习
一.安装JAVA开发工具IDEA,下载Ultimate旗舰版版本,Community社区版不支持Java EE开发...... 下载地址:https://www.jetbrains.com/idea/ ...
- 扩展BootstapTable支持TreeGrid
(function ($) { 'use strict'; var sprintf = function (str) { var args = arguments, flag = true, i = ...
- 网络编程——socket开发
Socket套接字方法 socket 实例类(8-10分钟) socket.socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None) ...
- STL set简单用法
set的常见用法详解 set翻译为集合,是一个内部自动有序并且不含重复元素的容器. 可以用于去掉重复元素,或者元素过大,或者不能散列的情况,set只保留元素本身而不考虑它的个数. 头文件:#inclu ...
- C语言变量定义与数据溢出(初学者)
1.变量定义的一般形式为:类型说明符.变量名标识符等:例:int a,b,c;(abc为整型变量) 在书写变量定义时应注意以下几点: (1)允许在一个类型说明符后,定义多个相同类型的变量.各变量之间用 ...
- Appium1.9.1 部署及结果检验
1.官网下载最新的 appium 2.点击 Download Appium 3.选择适用于自己操作系统的版本,我的是 windows版本,就选择如下红圈起的 4.点击安装,一直点 下一步 直到提示安装 ...