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提出了依赖注入的思想,即依 ...
随机推荐
-
Windows Server 2008配置服务器证书[转载]
备忘 http://wangchunhai.blog.51cto.com/225186/139451
-
java jdbc sqlhelper
package com.shop.util; import java.sql.*; //SqlHelper类 //定义了数据库连接函数,关闭查询结果集,关闭Statement对象,关闭数据库连接 // ...
-
Shell脚本入门与应用
编写第一个shell脚本 如同其他语言一样,通过我们使用任意一种文字编辑器,比如 nedit.kedit.emacs.vi 等来编写我们的 shell 程序.程序必须以下面的行开始(必须方在文件的第一 ...
-
UUShutdown关机工具 - 给 Windows8.1Metro 开始屏幕添加 关机重启按钮
UUShutdown,给开始屏幕(开始菜单)添加重启关机等按钮 如图: 安装完成之后找到开始菜单程序文件夹中的快捷方式,附加到开始屏幕即可. 2.0加入主程序界面,支持换肤和定时: 看见的需要那就拿去 ...
-
XT535
今天金山误删了一个文件,把手机系统整坏了,故刷了个机,刷机教程: http://bbs.dospy.com/thread-15027415-1-623-1.html 中间安装了个驱动精灵,否则手机开启 ...
-
spring-boot 集成 log4j 记录日志
1.pom文件中移除和添加依赖 <!-- 移除boot—starter 的log4j --> <dependency> <groupId>org.springfra ...
-
页面中href链接的碰撞
问题: 如上图动态生成一个li列表,点击之后页面直接全部刷新了一遍 原因: 动态生成的代码(第一个图)中href链接地址与顶部页面(上图)中固定的href链接存在冲突 如果动态生成的列表指定的链接名称 ...
-
JS 一些问题与解决方法
一.post/get传输json数据中包含特殊字符 在使用HTTP请求传输数据时,因为他本身也需要一些字符做标记,比如= &,所以传输的数据中如果有特殊字符,就会被错误的理解成标记字符做了一些 ...
-
[不屈的复习] - http://how2j.cn/
http://how2j.cn/ 该教程网站分得比较规整!
-
java多台
多 态★★★★★(面向对象特征之一):函数本身就具备多态性,某一种事物有不同的具体的体现. 体现:父类引用或者接口的引用指向了自己的子类对象.//Animal a = new Cat();父类可以调用 ...