Spring 依赖注入的方式
Spring 支持3中依赖注入的方式
1、属性注入 通过setter 方法注入Bean的属性或依赖的对象。
<bean id = " " class = " ">
<property name = " " value = " "> </property>
<property name = " " value = " "> </property>
</bean>
2、构造器注入 通过构造方法注入Bean的属性值或依赖的对象,它保证Bean实例在实例化后就
可以使用
2.1 按索引匹配入参
<bean id = " " class = " ">
<constructor-arg value = " " index = "0"></constructor-arg>
<constructor-arg value = " " index = "1"></constructor-arg>
</bean>
2.2 按类型匹配入参
<bean id = " " class = " ">
<constructor-arg value = "value " type = "java.lang.String"></constructor-arg>
<constructor-arg value = " 5000" type = "double"></constructor-arg>
</bean>
3、工厂方法注入
bean的属性类型
1.字面值:可以用字符串表示的值,可以通过<value>元素标签或value属性进行注入,包括基本数据类型及其包装类、String的类型。若字面值包含特殊字符,可以使用<![CDATA[]]>把自勉之包裹起来。
2.引用其他Bean:可以在 Bean 的配置文件中通过 <ref> 元素或 ref 属性为 Bean 的属性或构造器参数指定对 Bean 的引用,也可以在属性或构造器里包含 Bean 的声明, 这样的 Bean 称为内部 Bean。
<bean id="zoghin2" class="springTest.Person">
<property name="name" value="zoghin2"></property>
<property name="sex" value="man"></property>
<property name="age" value="25"></property>
<property name="car">
<bean class="springTest.Car">
<property name="brand" value="db"></property>
<property name="speed" value="200"></property>
</bean>
</property>
</bean>
<bean id="zoghin3" class="springTest.Person">
<constructor-arg value="zoghin3"></constructor-arg>
<constructor-arg value="man" type="java.lang.String"></constructor-arg>
<constructor-arg value="20" type="int"></constructor-arg>
<constructor-arg>
<bean class="springTest.Car">
<property name="brand" value="db"></property>
<property name="speed" value="200"></property>
</bean>
</constructor-arg>
</bean>
3. null 值 可以使用专用的 <null/> 元素标签为 Bean 的字符串或其它对象类型的属性注入 null 值。
4.集合属性 在 Spring中可以通过一组内置的 xml 标签(例如: <list>, <set> 或 <map>) 来配置集合属性。
Java.util.Map 通过 <map> 标签定义, <map> 标签里可以使用多个 <entry> 作为子标签. 每个条目包含一个键和一个值。必须在 <key> 标签里定义键,因为键和值的类型没有限制, 所以可以自由地为它们指定 <value>, <ref>, <bean> 或 <null> 元素.可以将 Map 的键和值作为 <entry> 的属性定义: 简单常量使用 key 和 value 来定义; Bean 引用通过 key-ref 和 value-ref 属性定义
使用 <props> 定义 java.util.Properties, 该标签使用多个 <prop> 作为子标签. 每个 <prop> 标签必须定义 key 属性.
Spring 依赖注入的方式的更多相关文章
- Spring依赖注入的方式、类型、Bean的作用域、自动注入、在Spring配置文件中引入属性文件
1.Spring依赖注入的方式 通过set方法完成依赖注入 通过构造方法完成依赖注入 2.依赖注入的类型 基本数据类型和字符串 使用value属性 如果是指向另一个对象的引入 使用ref属性 User ...
- spring依赖注入的方式(一)
为了方便类的管理,spring提供了依赖注入的思想:类的实例化不由程序员控制,而是交给sprig容器进行管理. spring提供了多种类型的注入方式---注解.xml注入: 1 注解注入 有两种:@ ...
- Spring学习(三)——Spring中的依赖注入的方式
[前面的话] Spring对我太重要了,做个关于web相关的项目都要使用Spring,每次去看Spring相关的知识,总是感觉一知半解,没有很好的系统去学习一下,现在抽点时间学习一下Spring.不知 ...
- Spring 依赖注入优化
Spring 依赖注入优化 原创: carl.zhao SpringForAll社区 今天 Spring 最大的好处就是依赖注入,关于什么是依赖注入,在Stack Overflow上面有一个问题,如何 ...
- Spring依赖注入:@Autowired,@Resource和@Inject区别与实现原理
一.spring依赖注入使用方式 @Autowired是spring框架提供的实现依赖注入的注解,主要支持在set方法,field,构造函数中完成bean注入,注入方式为通过类型查找bean,即byT ...
- Spring依赖注入三种方式详解
在讲解Spring依赖注入之前的准备工作: 下载包含Spring的工具jar包的压缩包 解压缩下载下来的Spring压缩包文件 解压缩之后我们会看到libs文件夹下有许多jar包,而我们只需要其中的c ...
- Spring依赖注入的三种方式
看过几篇关于Spring依赖注入的文章,自己简单总结了一下,大概有三种方式: 1.自动装配 通过配置applicationContext.xml中的标签的default-autowire属性,或者标签 ...
- SSH深度历险记(八) 剖析SSH核心原则+Spring依赖注入的三种方式
于java发育.一类程序猿必须依靠类的其他方法,它是通常new依赖类的方法,然后调用类的实例,这样的发展问题new良好的班统一管理的例子.spring提出了依赖注入的思想,即依赖类不由程 ...
- SSH深度历险(八) 剖析SSH核心原理+Spring依赖注入的三种方式
在java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依 ...
随机推荐
- 【Gerrit】Gerrit与Jenkins/Hudson CI服务器搭建
配置Git 很多系统(例如Linux)已经默认提供了Git,在Git主页也可以找到安装程序.对于Windows用户,最好的选择是MsysGit.请注意,如果你安装了Apple Developer To ...
- POJ 3067 Japan(树状数组)
Japan Time Limit: 10 ...
- Excel中如何提取字符串中的数字
取字符串中的数字,假如数据在A列,提取公式为 =LOOKUP(9^9,--MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&5^19)),ROW($1:$99) ...
- <mvc:annotation-driven/>与<mvc:default-servlet-handler/>之间的一个问题
<mvc:annotation-driven/>与<mvc:default-servlet-handler/>之间的一个问题 在做项目的时候,我希望静态资源由WEB服务器默认的 ...
- MemcacheQ 安装与使用
MemcacheQ 是一个基于 MemcacheDB 的消息队列服务器.官网地址:http://memcachedb.org/memcacheq/ 特点: 1.简单易用. 2.处理速度快. 3.可创建 ...
- sql server 相似度对比
转自:http://www.dotblogs.com.tw/rachen/archive/2008/10/07/5611.aspx 函數一.產生 Like 比對用字串 ) ) ) as begin / ...
- web页面打开本地app(判断是否安装)
在应用宝中有APP申请链接: //是否可以打开App不可以跳则到下载页 $(".downNow button").on("click",function(){ ...
- JavaScript基本语法
本节和CSS语法类似,理解这些语法以后,就可以按照Bootstrap的开发规范去开发自己的各种插件了. ||和&&运算符 ||表示,如果第一个元素可以转换为true,则返回第一个元素的 ...
- eclipse中如何关闭运行时自动保存?
Eclipse没有提供自动保存的功能,只能自己写脚本每隔多久保存一次,或监听修改即保存.设置方法:1.打开:preferences>run/debug>launching2.选择save ...
- PHP For Windows/php-5.6.11-Win32-VC11-x64启动脚本
启动php-cgi.bat @echo off E: cd E:\php-5.6.11-Win32-VC11-x64 php-cgi.exe -b 127.0.0.1:9000 -c php.ini- ...