文档详情

《中关村北大青鸟:实例讲解自动装配Spring》.doc

发布:2016-09-13约4.69千字共5页下载文档
文本预览下载声明
中关村北大青鸟:实例讲解自动装配Sprin 如何自动装配sping?中关村北大青鸟采用构造函数注入,以及setter方法注入都需要写大量的XML配置文件,这时可以采用另一种方式,就是自动装,由Spring来给我们自动装配我们的Bean. Spring提供了四种自动装配类型 1:ByName 采用这种方式时给属性自动注入值时,会根据Bean里的setXXX中的XXX去搜寻有没有id=XXX的Bean,有的话,将其自动注入,没有的话,就表示setXXX里要装入属性没有装配值。 2:ByType 采用这种方式给属性自动注入值时,会根据Bean里的setXXX中的参数类型来搜寻配置文件中的Bean定义,如果发现了一个,就自动将其注入,否则如果有0个这个属性没有被装配,如果有多个,则会抛出异常。 3:constructor 这种方式的注入与ByType其实没什么区别,无非是将ByType移入到了构造函数中,这种方式下,构造函数是自动注入的,在构造对象时,会自动根据构 造函数的参数类型搜寻Bean,如果有一个合适的,则成功,一个没有,则失败,有多个,则会抛出异常。 4:autodetect 自动检测方式,会采用如下流程,先按照constructor方式,再按照ByType方式。 例子源代码如下 例子一个Java工程师从一个网站上买东本 一个普通的JavaBean [java] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 interface Engineer{ Object buyApple(); } public class JavaEngineer implements Engineer{ private String name; private Website ws; public JavaEngineer(String name){ =name; } public void setWebsite(Website ws){ this.ws=ws; } @Override public String toString() { // TODO Auto-generated method stub return super.toString(); } public Object buyApple(){ System.out.print(工程师+name); return ws.buyApple(); } } interface Engineer{ Object buyApple(); } public class JavaEngineer implements Engineer{ private String name; private Website ws; public JavaEngineer(String name){ =name; } public void setWebsite(Website ws){ this.ws=ws; } @Override public String toString() { // TODO Auto-generated method stub return super.toString(); } public Object buyApple(){ System.out.print(工程师+name); return ws.buyApple(); } } 这个网站假设是淘宝网: [java] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 interface Website{ Object buyApple(); } public class TaobaoWebsite implements Website { public TaobaoWebsite() { } public Object buyApple() { System.out.println(购买了一个苹果); return new Object(); } } interfa
显示全部
相似文档