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命令的用法如下:
随机推荐
- ASP.NET网页生成EXCEL并下载(利用DataGrid或GridView等)
前几天要在后台查询数据库内容(用entity framework),将查询出来的信息(List或DataTable形式)转成EXCEL供用户下载.经过谷歌.百度搜索,终于搜出了一些代码.似乎可用了,结 ...
- pylint window下安装与使用
简介 Pylint 是一个 Python 代码分析工具,它分析 Python 代码中的错误,查找不符合代码风格标准(Pylint 默认使用的代码风格是 PEP 8)和有潜在问题的代码. Pylint ...
- useful tools, excel import mysql,swagger
http://www.th7.cn/Program/java/201602/765943.shtml------swagger http://blog.csdn.net/csfreebird/arti ...
- FastDFS分布式文件系统安装与使用(单节点)
http://blog.csdn.net/xyang81/article/details/52837974 http://download.csdn.net/detail/xyang81/966749 ...
- 详解 Qt 线程间共享数据(用信号槽方式)
使用共享内存.即使用一个两个线程都能够共享的变量(如全局变量),这样两个线程都能够访问和修改该变量,从而达到共享数据的目的. Qt 线程间共享数据是本文介绍的内容,多的不说,先来啃内容.Qt线程间共享 ...
- Cocos2d-JS切换场景与切换特效
var HelloWorldLayer = cc.Layer.extend({ sprite:null, ctor:function () { //////////////////////////// ...
- Sql server与Excel的数据互通导入导出
现在,我先从Sql server数据表导出到Excel中,再从Excel数据表导出到Sql server中: 一.Sql server数据表导出到Excel中: 1.新建一个Excel,选择“数据”菜 ...
- grok
http://udn.yyuap.com/doc/logstash-best-practice-cn/filter/grok.html
- http://www.cnblogs.com/littlemonk/p/5705476.html
http://www.cnblogs.com/littlemonk/p/5705476.html
- SET Statements (Transact-SQL)
The Transact-SQL programming language provides several SET statements that change the current sessio ...