欢迎来到天天文库
浏览记录
ID:57894205
大小:80.50 KB
页数:14页
时间:2020-09-02
《Spring2.5注释语法(上)——Spring2.5注释驱动的IoC.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Spring2.5注释语法(上)——Spring2.5注释驱动的IoC2008-10-2223:05:26标签:Spring2.5Spring绝缘材料javajavaEE版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。Spring2.5注释语法(上)——Spring2.5注释驱动的IoC 正如Spring框架的名称一样,它真的为我们JavaEE开发带来了一阵春风,而其著名的IoC(依赖注入)更是为它的经久不衰注入了无限活力。在新发布的2.5版本中Spring的开发者为我们这些使用Java5或更高版本Java的开发人员提供了
2、进一步简化而强大的新特性。其中就包括了注释驱动的依赖性注入(annotation-drivendependencyinjection)和新的web控制器模型将请求映射到加注释的方法上,等等。 今天我首先要向大家介绍的就是Spring2.5中新特性之一---注释驱动的依赖性注入,在正式介绍之前我想先让大家了解一下什么是注释,请看下面的代码清单:一、了解Java注释代码清单1.1importjava.lang.annotation.Retention;importjava.lang.annotation.RetentionPolicy;@Re
3、tention(RetentionPolicy.RUNTIME)public@interfaceMyAnnotation{①定义一个注释intinit();} 代码清单1.2importjava.lang.annotation.Annotation;publicclassTestAnnotation{@MyAnnotation(init=2)②使用注释publicvoidprint(){System.out.println(TestAnnotation.class.getName());}publicstaticvoidmain(Stri
4、ng[]args)throwsException{TestAnnotationta=newTestAnnotation();Annotation[]annotations=ta.getClass().getMethod("print").getAnnotations();③for(Annotationannotation:annotations){System.out.println("MyAnnotation.init:"+((MyAnnotation)annotation).init());④打印出init的值}}}在代码清单1.1中我
5、们定义了一个名为MyAnnotation的注释而这个注释中只有一个类型为int名为init的属性,代码清单1.2中我们在②处使用了我们刚刚定义的注释并且为init赋值为2,在③处我们通过反射机制获得print方法上定义的所有注释然后通过迭代将其值init打印至控制台。最终在控制台输出以下信息:MyAnnotation.init:2至此我们对Java中的注释有了一个简单的了解,下面我们来看看Spring2.5是如何使用这些注释来完成它神奇的IoC功能吧。在此之前我们先来看看以前我们是怎么做的。二、Spring的IoC代码清单2.1public
6、classFoo{①privateStringname;privateintage;publicStringtoString(){return"TheFoo'sNameis:"+this.name+"TheFoo'sAgeis:"+this.age;}publicStringgetName(){...}publicvoidsetName(Stringname){...}publicintgetAge(){...}publicvoidsetAge(intage){...}}代码清单2.2publicclassBar{②privateStrin
7、gaddress;publicStringtoString(){return"TheBar'sAddressis:"+this.address;}publicStringgetAddress(){...}publicvoidsetAddress(Stringaddress){...}}代码清单2.3publicclassBase{③privateFoofoo;privateBarbar;publicStringtoString(){return"Base:["+this.foo.toString()+""+this.bar.toString
8、()+"]";}publicFoogetFoo(){...}publicvoidsetFoo(Foofoo){...}publicBargetBar(){...}publicvo
此文档下载收益归作者所有