Spring中自己主动装配
自己主动装配
在我们了解过constructor-arg和property装配中。都须要配置对应的属性和值或者引用,假设在比較复杂的项目中。就会使得XML的配置变得复杂,自己主动装配能够使用较少的配置实现。
主要通过使用bean的autowire属性来控制,autowire可取值:
byName:为属性自己主动装配id与该属性的名字同样的bean
比如:People中有一个名为dog的Dog类
<beanclass=”People” id=”p” autowire=”byName”/>
<beanid=”dog” class=”Dog”>
byType:与byName不同的是,通过类型来选择装配的属性
<beanclass=”People” id=”p” autowire=”byType”/>
< beanid=”dog1” class=”Dog”>
假设我们有多个Dog bean那么此时byType就不会装配。而是抛出异常,对于此。我们能够设置首先装配的bean。通过将Dog bean的primary属性设置为false(默觉得true,都是首选bean),还能够设置autowrie-candidate为false,将该bean排除在装配外。
constructor:通过构造器装配,此时就不再须要constructor-arg装配,当我们装配一个bean时,选用constructor。那么该bean就会去寻找该构造方法中能够使用的參数,假设此时有多个的话。那么就会抛出异常。
注意:此时不能使用constructor-arg
autodetect:自己主动装配。首先会选用constructor。假设没有。在选用byType.
假设我们须要为全部的bean选择同样的默认装配方式,能够再beans元素中,使用default-autowire属性来指定
我们通常使用手动装配和自己主动装配的混合模式。
Spring中自己主动装配的更多相关文章
- Spring -- Bean自己主动装配&Bean之间关系&Bean的作用域
对于学习spring有帮助的站点:http://jinnianshilongnian.iteye.com/blog/1482071 Bean的自己主动装配 Spring IOC 容器能够自己主动装配 ...
- Spring 中Bean的装配方式
最近又买了一本介绍SSM框架的书,是由黑马程序员编写的,书上讲的很好理解,边看边总结一下.主要总结一下bean的装配方式. Bean的装配可以理解为依赖系统注入,Bean的装配方式即Bean依赖注入的 ...
- Spring笔记2——Spring中Bean的装配
1.引言 Spring中,对象无需自己负责查找或创建与其关联的其他对象,而是由容器负责把需要相互协作的对象引用赋予各个对象.创建应用对象之间的协作关系的行为通常称为装配(Wiring),这也是依赖注入 ...
- Spring中类型自动装配--byType
在Spring中,“类型自动装配”的意思是如果一个bean的数据类型与其它bean属性的数据类型相同,将自动兼容装配它. 例如,一个“persion” bean 公开以“ability”类数据类型作为 ...
- java开发两年,连Spring中bean的装配都不知道?你怎么涨薪啊
Spring 1.1.1.1 创建一个bean package com.zt.spring; public class MyBean { private String userName; privat ...
- 模拟实现Spring中的注解装配
本文原创,地址为http://www.cnblogs.com/fengzheng/p/5037359.html 在Spring中,XML文件中的bean配置是实现Spring IOC的核心配置文件,在 ...
- 如何在 spring 中启动注解装配?
默认情况下,Spring 容器中未打开注解装配.因此,要使用基于注解装配,我们 必须通过配置 <context:annotation-config/> 元素在 Spring 配置文件 中启 ...
- Spring中的自动装配
src\dayday\Person.java package dayday;/** * Created by I am master on 2016/11/28. */public class Per ...
- Spring中Bean的装配方式
一.基于xml的装配 Student.java package com.yh; public class Student implements People { public void breath( ...
随机推荐
- hdu 1035 Robot Motion(模拟)
Problem Description A robot has been programmed to follow the instructions in its path. Instructions ...
- sql server中将一个表中的部分数据插入到另一个表中
可以通过存储过程完成,也可以通过在库名上右击“新建查询”执行.语句其实基本相同. 1. 存储过程: CREATE PROCEDURE pro1 as insert into tableB (field ...
- iOS 各种传值方式
属性传值 将A页面所拥有的信息通过属性传递到B页面使用 B页面定义了一个naviTitle属性,在A页面中直接通过属性赋值将A页面中的值传到B页面. A页面DetailViewController.h ...
- 超级实用且不花哨的js代码大全
事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcEl ...
- 连接mysql数据库2+操作入门
package 对数据库操作Statment; import java.sql.Connection; import java.sql.DriverManager; import java.sql.R ...
- C#中List和数组之间的转换
一.List转数组 (从List<string>转到string[]) C# 代码 复制 List<string> listS=new List<string&g ...
- PHP zip压缩文件及解压
PHP zip压缩文件及解压 利用ZipArchive 类实现 只有有函数.界面大家自己写 ZipArchive(PHP 5.3 + 已自带不需要安装dll) /** * 文件解压 * @param ...
- 转 jquery插件--241个jquery插件—jquery插件大全
241个jquery插件—jquery插件大全 jquery插件jqueryautocompleteajaxjavascriptcoldfusion jQuery由美国人John Resig创建,至今 ...
- Android 相对布局常用属性
Android 布局属性详解 RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 ...
- ie兼容---haslayout
要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清除的概念.大多IE下的显示错误,就是源于 haslayout. 什么是 haslayout ? ...