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配置那样容易把握。

3. 如果在程序中Annotation比较多,直接影响代码质量,对于代码的简洁度有一定的影响。