Java下的框架编程(4)
1.因为两者的用途不同,所以Annotation与XML应该并存
Anootation vs XML 到了现在,在Spring和EJB3各占一边的持续演示下,各自的用途已清晰。
虽然两者之间完全可以相互替代,没有绝对不能做的事情,但却存在好不好的问题,两者的用途不同,应该并用:
"size=10,db_user=ito"这样的参数,仍然适合放在XML,YAML(ruby),properties,ini文件里。
而Annotation中所放,是真正程序的一部分,是旧编程体系中所缺的那一块东西。
看看编程语言的发展:
一开始只是函数的封装;
到了OO语言,对象有了自己的属性和方法;
到了框架满天飞的年代,这些属性和方法又有了自己的属性,来告诉框架如何为自己提供服务。比如Spring和EJB3,POJO就用配置信息来告诉框架无侵入的提供服务。整个进化的过程非常自然。
因为这些信息本来就是程序的一部分,所以应该仍然放在Code里头,Spring把它割裂到XML明显影响了代码的阅读。
2.Anotation/XML PK Interface,Spring 无侵入性的基础
切尔斯基的Blog讲了Annotation/XML 对Interface的PK
。这次PK,也可以认为是Spring 对 EJB2.1在框架无侵入性上的一次PK。
在EJB2.1时代,POJO必须通过接口来向框架声明一些东西,这就造成了框架的侵入性,强迫POJO实现一堆接口。而Spring,把这些元信息搬到了XML配置文件。
在Spring里随便就可以举个例子。比如一个POJO,在Spring为它进行依赖注入A和B后,需要根据A和B来装配一个内部属性C,这样就需要再跑
一个init()函数。Spring提供两种方式,一种侵入性的,实现InitializingBean接口的afterPropertiesSet()
函数供Spring调用。 而另一种是无侵入性的,在Bean的xml节点里面自行定义init函数的名字。
3.Annotation目前的弱点
一是Hibernate、Struts、三姑妈、四姨婆的annotation如果一股脑儿的全堆在可怜的POJO上很没人道,如果三姑六婆都抢Transation这个Anontation就更惨了。
二是annoation的表达能力有限,不如XML的强。
4.JSR250 - Common Annotations for the Java
Final Draft已经发布
,八卦回来一看,也只是多定义了几个Common Annotation而已。
1.Gen
相关文档:
十年前,Sun微系统公司将Java搬到了世人面前,这是首次协助企业建立具有前瞻性的思想的一款软件,随后Java迅猛扩散,深入到计算机业的几乎每个角落。这项技术的幕后英雄,就是本文采访的James Gosling。
上个世纪90年代初,Gosling发起并领导了一个名为Green的项目,此项目最终演变为Java。Java 的基本理念是创造一种可以 ......
在你的代码里调用了一些资源文件,如图片,音乐等,在调试环境或单独运行的时候可以正常显示或播放,而一旦打包到jar文件中,这些东东就再也出不来了,除非把这个jar放到原来未打包以前的目录下,但通常jar是单独发布的。
[关键字] java jar文件包 资源
可能有不少初学者会有这样的困惑:在你的代码里调用了 ......
最近项目中遇到了上移下移操作的一个操作,以前也看到过,但一直没有去研究过,这次项目中遇到了,也就去研究了一把,其实实现原理也挺简单的,说白了就是
要记录数据库里的要进行排序表的总记录数量,然后根据循环的次数,多写几个隐藏变量,进行上移下移操作的时候进行判断就可以了。
&n ......