spring-bean(xml方式DI)
三种属性注入方式
构造函数注入
1、在Bean实体中写入构造函数(带参构造)
2、
<bean id=”该bean的名称” class=”注入的bean的全路径”>
<constructor name=”属性名” value=”属性值”/>
< constructor name=”属性名” ref=”其他Bean对象id”/>
</baen>
属性setter方法注入(使用最多)
1、在Bean实体中写入setter方法
2、
<bean id=”该bean的名称” class=”注入的bean的全路径”>
<property name=”属性名” value=”属性值”/>
<property name=”属性名” ref=”其他Bean对象id”/>
</baen>
接口注入(不推荐,spring不支持)
Spring属性注入简化写法
P名称空间注入
简化XML文件配置,spring从2.5开始引入新的p名称空间
1、 引入p名称空间:
xmlns:p=http://www.springframework.org/schema/p
2、 配置引入文件
引入普通属性:
<bean id=”该bean的名称” class=”注入的bean的全路径” p:属性名=”属性值”/baen>
引入类对象属性:
<bean id=”该bean的名称” class=”注入的bean的全路径” p:ref-属性名=”属性值”/baen>
SpEL注入
语法:
<bean id=”该bean的名称” value=”#{表达式}”/>
语言:
1、#{‘hello’}:使用字符串
2、#{beanId}:使用其他Bean对象
3、#{beanId.content.toUpperCase()}:使用其他Bean对象属性,并使用其方法
4、#{T(java.lang.Math).PI}:使用静态字段或方法
Spring expression language(spring表达式语言,对依赖注入进行简化)
复杂类型的属性注入
使用范围:整合其他框架
数组类型
<property name=”属性名” >
<list>
<value>数组的第一个值</value>
<value>数组的第二个值</value>
…
</list>
</property>
List集合
<property name=”属性名” >
<list>
<value>list的第一个值</value>
<value>list的第二个值</value>
…
</list>
</property>
Set集合
<property name=”属性名” >
<set>
<value>set的第一个值</value>
<value>set的第二个值</value>
…
</set>
</property>
Map集合
<property name=”属性名” >
<map>
<entry key=”map的key” value=”map的value”/ >
<entry key=”map的key” value=”map的value” / >
…
</map>
</property>
Properties集合
<property name=”属性名” >
<props>
<prop key=” prop的key” >value</prop>
< prop key=” prop的key” >value</prop>
…
</ props>
</property>
spring-bean(xml方式DI)的更多相关文章
- 04_IOC容器装配Bean(xml方式)
IOC容器装配Bean(xml方式) 1.Spring 提供配置Bean三种实例化方式 1)使用类构造器实例化(默认无参数) <bean id="bean1" class=& ...
- Spring基于XML方式的使用
一.IoC配置 IoC的配置是通过Spring的xml文件的bean标签进行的. 1.bean标签介绍 bean标签一般是在xml文件进行配置的,xml文件一般样式如下: <?xml versi ...
- 【Spring】XML方式实现(无参构造 有参构造)和注解方式实现 IoC
文章目录 Spring IoC的实现方式 XML方式实现 通过无参构造方法来创建 1.编写一个User实体类 2.编写我们的spring文件 3.测试类 UserTest.java 4.测试结果 通过 ...
- Spring bean注入方式
版权声明:本文为博主原创文章,如需转载请标注转载地址. 博客地址:http://www.cnblogs.com/caoyc/p/5619525.html Spring bean提供了3中注入方式:属 ...
- Spring通过XML方式实现定时任务
package com.wisezone.service; import java.text.SimpleDateFormat; import java.util.Date; import org.s ...
- Spring基于XML方式加载Bean定义信息(又名:Spring IOC源码时序图)-图解
- spring bean实例化方式
注意:xml配置中bean节点下scope属性默认值为singleton(单例),在需要多例的情况下需要配置成prototype spring提供三种实例化方式:默认构造.静态工厂.实例工厂 一.默认 ...
- Spring Bean装配方式
Spring装配机制 在xml中进行显示配置 在Java中进行显示配置 隐式bean发现机制和自动装配 自动化装配bean 组件扫描(component scanning),Spring会自动发现应用 ...
- spring bean.xml
http://blog.csdn.net/lanshengsheng2012/article/details/9011635
随机推荐
- 关于java中char占几个字节,汉字占几个字节
我们平常说,java中char占2个字节,可又说汉字在不通的编码格式中所占的位数是不同的,比如gbk中汉字占2个字节,utf8中多数占3个字节,少数占4个.而所有汉字在java程序中我们都可以简单的用 ...
- [PHP]对象数组和普通数组总结
1.碰到前台将JSON格式数据传递到服务器后台,经php的json_decode函数转换成的数组由于为对象数组,php程序无法对数据进行正常处理的情况,为此需要开发一个PHP回调函数(objarray ...
- C语言实现通用链表初步(二)
接着上次的内容,我们继续! 还是无头单向非循环链表.假如要删除某个节点,如何实现? //删除成功返回0,失败返回-1 int slist_del(struct node_info *node, str ...
- php和c++socket通讯(基于字节流,二进制)
研究了一下PHP和C++socket通讯,用C++作为服务器端,php作为客户端进行. socket通讯是基于协议的,因此,只要双方协议一致就行. 关于协议的选择:我看过网上大部分协议都是在应用层的协 ...
- 模糊查询(like)
1. 找出名中包含 “厂”的所有供应商的名select * from provider where pro_name like '%厂%'2.第二个字为华select * from provider ...
- MongoDB之mongodb.cnf配置
# mongodb3.2.1 的主配置文件,将此文件放置于 mongodb3.2.1/bin 目录下 # hapday 2016-01-27-16:55 start # 数据文件存放目录 dbpath ...
- npm下载某个版本
如果我想要引入的是Jquery的1.7.2版本,则输入npm intall jquery@1.7.2,那么npm包管理器就会帮助你下载jquery1.7.2的版本到你当前操作目录下的node_modu ...
- C#设计模式--适配器模式(结构型模式)
一.适配器模式介绍: 适配器模式:将一个类的接口,转换成客户希望的另外一个接口.adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 例子分析(充电器充电): 模式中的角色: 安 ...
- python+pywinauto之PC端自动化一
所需软件安装: 1.下载 pywinauto 安装参考: https://jingyan.baidu.com/article/414eccf6a1a3906b421f0a59.html 下载地址: h ...
- CentOS-6.5安装配置JDK-7
安装说明 系统环境:centos-6.5安装方式:rpm安装 软件:jdk-7-linux-x64.rpm下载地址:http://www.oracle.com/technetwork/java/jav ...