spring的annotation注入机制与XML注入机制本质上是相同的。annnotation简洁一些,遵循一些Coc.
有些人喜欢annotation, 这样bean的声明,注册,注入都在“刚好”的地方出现,很自然。
也有些人喜欢XML注入机制,认为这种方法集中声明在一起,能一下看到关系网,清晰明了。、
从这一点看,这两种选择有点个人口味的意思。
刚才自己敲代码分别实现了一下annotation和XML配置方式:
XML配置的优缺点:
优点有:
1. XML配置方式进一步降低了耦合,使得应用更加容易扩展,即使对配置文件进一步修改也不需要工程进行修改和重新编译。
2. 在处理大的业务量的时候,用XML配置应该更加好一些。因为XML更加清晰的表明了各个对象之间的关系,各个业务类之间的调用。同时spring的相关配置也能一目了然。
当然,有人会说,用XML配置,在大的业务量时候会使得XML文件过大,不容易查看。这一点我们完全可以利用业务分解书写多个XML配置文件就可以了。
缺点有:
配置文件读取和解析需要花费一定的时间,配置文件过多的时候难以管理,无法对配置的正确性进行校验,增加了测试难度。
annotation配置的优缺点:
优点有:
1. 在class文件中,可以降低维护成本,annotation的配置机制很明显简单
2. 不需要第三方的解析工具,利用java反射技术就可以完成任务
3. 编辑期可以验证正确性,差错变得容易
4. 提高开发效率
缺点有:
1. 如果需要对于annotation进行修改,那么要重新编译整个工程
2. 业务类之间的关系不如XML配置那样容易把握。
有些人喜欢annotation, 这样bean的声明,注册,注入都在“刚好”的地方出现,很自然。
也有些人喜欢XML注入机制,认为这种方法集中声明在一起,能一下看到关系网,清晰明了。、
从这一点看,这两种选择有点个人口味的意思。
刚才自己敲代码分别实现了一下annotation和XML配置方式:
XML配置的优缺点:
优点有:
1. XML配置方式进一步降低了耦合,使得应用更加容易扩展,即使对配置文件进一步修改也不需要工程进行修改和重新编译。
2. 在处理大的业务量的时候,用XML配置应该更加好一些。因为XML更加清晰的表明了各个对象之间的关系,各个业务类之间的调用。同时spring的相关配置也能一目了然。
当然,有人会说,用XML配置,在大的业务量时候会使得XML文件过大,不容易查看。这一点我们完全可以利用业务分解书写多个XML配置文件就可以了。
缺点有:
配置文件读取和解析需要花费一定的时间,配置文件过多的时候难以管理,无法对配置的正确性进行校验,增加了测试难度。
annotation配置的优缺点:
优点有:
1. 在class文件中,可以降低维护成本,annotation的配置机制很明显简单
2. 不需要第三方的解析工具,利用java反射技术就可以完成任务
3. 编辑期可以验证正确性,差错变得容易
4. 提高开发效率
缺点有:
1. 如果需要对于annotation进行修改,那么要重新编译整个工程
2. 业务类之间的关系不如XML配置那样容易把握。
3. 如果在程序中annotation比较多,直接影响代码质量,对于代码的简洁度有一定的影响。
从项目的开发速度上来讲,可以基于注解的方式可能从项目的开发速度要快一些。不用去编写各种xml文件。
但是从长远的维护上考虑,觉得还是用基于xml文件配置的方式可以在项目的管理上要明了一些。
因为基于注解的方式,给人感觉如果对项目不是完全清楚,可能开发和维护起来都是相当麻烦的。
用一句话来概括就是:写起来比较简单、方便,看起来也直观,但是不方便修改。
而基于xml配置的方式:写起来比较灵活,修改比较方便,但是写起来很烦琐。
不过他们各自都有各自的好处,不能只看到他的不方便之处,或许我们可以集成他们的优点。
摘自:http://blog.sina.com.cn/s/blog_451f596201014z4k.html
http://blog.sina.com.cn/s/blog_6c9235e60101e6l7.html