springday02-go2
1.复制xml文件到container.auto下
2.Waiter类实现构造函数
3.Bar类中Waiter作为其成员变量,并实现其get/set方法,有参和无参构造器,toString方法
4.分别修改xml中bean为自动装配,byName,byType,constructor三种方式,测试自动装配

Bar.java:
package container.auto;
public class Bar {
private Waiter wt;
public Waiter getWt() {
return wt;
}
public void setWt(Waiter wt) {
System.out.println("setWt方法.....");
this.wt = wt;
}
public Bar() {
System.out.println("Bar的无参构造器");
}
public Bar(Waiter wt) {
System.out.println("Bar的有参构造器");
this.wt = wt;
}
//此处是自动生成(使用source)
@Override
public String toString() {
return "Bar [wt="+ wt +"]";
}
}
Waiter.java:
package container.auto;
public class Waiter {
public Waiter() {
System.out.println("Waiter的无参构造器");
}
}
xml:
<bean id="wt" class="container.auto.Waiter"/>
<!--
<bean id="wt2" class="container.auto.Waiter"/>
-->
<!-- autowire属性:让容器自动装配(自动注入依赖关系)
byName:容器查找和属性名称一致的bean,然后调用set方法来完成注入
如果找不到对应的bean,注入null
-->
<bean id="bar1" class="container.auto.Bar"
autowire="byName"/>
<!-- byType:容器查找属性类型一致的bean,然后调用set方法来完成注入。
如果找不到对应的bean,注入null,如果找到多个,则报错-->
<bean id="bar2" class="container.auto.Bar"
autowire="byType"/>
<!-- constructor:容器查找与属性类型一致的bean,然后调用
构造器来完成注入,如果找不到bean,则注入null,如果找到多个,则报错 -->
<bean id="bar3" class="container.auto.Bar"
autowire="constructor"/>
TestCase.java:
package container.auto;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestCase {
@Test
public void test1(){
String cfg = "container/auto/applicationContext.xml";
ApplicationContext ac =
new ClassPathXmlApplicationContext(cfg);
// Bar bar1 = ac.getBean("bar1",Bar.class);
// System.out.println(bar1);
// Bar bar2 = ac.getBean("bar2",Bar.class);
// System.out.println(bar2);
Bar bar3 = ac.getBean("bar3",Bar.class);
System.out.println(bar3);
}
}
测试结果:

思考为什么会输出前面的语句?因为在xml中定义bean则会初始化构造函数。这里自动装配使用的是set方式。
springday02-go2的更多相关文章
- Spring-day02
Annotation复习:1,Annotation:作为类型的元数据; 1,给类型加标记; 2,annotation可以添加各种类型的属性;2,Annotation的上的标记: 1),target:标 ...
- go2基本类型
/* Go基本类型 布尔型:bool - 长度:1字节 - 取值范围:true, false - 注意事项:不可以用数字代表true或false 整型:int/uint - 根据运行平台可能为32或6 ...
- 后端程序员之路 52、A Tour of Go-2
# flowcontrol - for - for i := 0; i < 10; i++ { - for ; sum < 1000; { ...
- Tomcat服务器进击
一.Tomcat服务器端口配置更改 Tomcat的所有配置都放在conf文件夹之中,server.xml文件就是配置的核心文件. 现在呢,我们需要将8080端口设置成8088端口. 启动端口默认: & ...
- jQuery动画与特效详解
本文主要是讲解和学习jQuery的自动显隐,渐入渐出等. 1.显示和隐藏hide()和show() 对于动画来说,显示和隐藏是最基本的效果之一,本节简单介绍jQuery的显示和隐藏. 代码如下: &l ...
- struts2.5的配置及其注意事项
坑爹的apache,官方的jar包提供了一个struts2的运行最小jar包
- Cordova+Asp.net Mvc+GIS跨平台移动应用开发实战1-系统初步搭建(附演示,apk,全部源码)
1.前言 身处在移动互联网的今天,移动应用开发炙手可热,身为程序猿的我们怎么能错过开发一款我们自己的APP.本人算是一个基于.net的GIS开发入门者(马上就大四啦), 暑假在学校参加GIS比赛有大把 ...
- PHP+ajaxfileupload与jcrop插件结合 完成头像上传
昨天花了点时间整合了一下头像插件 东拼西凑的成果 先来看下效果
- Moon.Orm性能报告
以下为有网友公司的评估测试及使用规范 大家可以下载word看看 http://pan.baidu.com/s/1hquvRuc 一.和ADO.NET进行的压力测试 说明:2000并发用户,此图为一网友 ...
- java web学习总结(三) -------------------TOMCAT使用帮助(二)
一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命令的用法如下:
随机推荐
- VS2013修改MVC4默认生成的模板
找到以下目录,根据VS版本和安装目录不同相应改动: I:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTempla ...
- WIN 8.1使用常见问题及解决
WIN 8.1正式版64位(cn_windows_8_1_pro_vl_x64_dvd_2971907)使用问题及解决 一.IE11的输入框会变蓝: 如在百度中搜索时,搜索框和按钮均变成蓝色背景, ...
- webKit和chromium的文章地址
http://blog.csdn.net/column/details/yongsheng.html?&page=1
- C++经典编程题#6:分配病房
总时间限制: 1000ms 内存限制: 65536kB 描述 某个科室的病房分为重症和普通,只有当病人的疾病严重程度超过了入住重症病房的最低严重值,才可以安排入住重症病房. 现在要求设计一个程序, ...
- Eclipse代码风格
1.代码对齐风格:project...properties...Java Code Style...Formatter...Brance
- Interview with BOA
1. BFS 2. QuickSort 3. PCA, 1000 articles, so many factors, how to reduce factors. 4. newton's metho ...
- 【FastJSON】解决FastJson中“$ref 循环引用”的问题
0.开发环境 SSH,EasyUI,MySQL 1.需求要求: (1)首先获取所有的贷款订单数据,即List <LoanOrder>. (2)然后从单个贷款订单实体LoanOrder去访问 ...
- 花式玩转社交App,百变应用场景
活动概况 时间:2016年03月20日13:30-16:30 地点:深圳腾讯大厦2楼多功能厅(南山区科技园科技中一路) 主办:APICloud.腾讯云分析和信鸽.云之讯 报名链接:http://act ...
- Inside Kolla - 01 简介
简介 在 opencloud 2015 的会议上初次了解到 kolla 项目后,开始去了解和学习 kolla 的源代码和相关的知识.经过一段时间的了解,觉得 kolla 确实是一个很好的项目,它使用预 ...
- SSH项目练习的时候报错:[applicationContext.xml]: Invocation of init method failed;
这里是控制台的报错信息:org.springframework.beans.factory.BeanCreationException: Error creating bean with name ' ...