spring配置: Annotation vs XML

来源:互联网 发布:网络电视怎么看直播啊 编辑:程序博客网 时间:2024/06/05 20:52

项目上大量用到Spring的相关组件,发现spring官网上的说明文档基本都基于annotation的方式,而自己之前还是采用xml的方式进行配置。

为了更好的指导今后的开发工作,花时间对比了一下2种配置的差异,总结如下:


Annotation

1、可以利用Java的反射,减少一些不必要的配置工作。例如:JAP配置进行ORM(优点)

2、可以比较方便的进行细粒度的控制,例如:@Transactional@Cacheable可直接指定到接口维度(即是优点、也是缺点)

3、配置和代码混合在一起,单一依赖比较直观,不用频繁切换至xml中查看关系,但也导致了配置项比较零散(即是优点、也是缺点)

4、第三方库无法进行注解(缺点)

5、配置关系调整时,涉及的类必须重新编译才能生效(缺点)


XML

1、配置项集中,便于管理(优点)

2、配置关系调整比较灵活,直接修改配置项重新加载即可,代码无需修改(优点)

3、支持通配符方式进行批量配置,列如:AOP直接切一整类方法(优点)

4、配置文件编写比较繁琐,缺乏有效的校验机制,部分错误到运行时才能察觉(缺点)


应用建议

综上所述,建议采用Annotation和xml混合的方式进行spring配置:

1、对于配置关系固定的类,或是需要细粒度控制的配置项,优先使用Annotation进行配置

2、对于配置变化较为频繁的部分(如数据源),或是需要粗粒度统配的,优先采用XML进行配置



0 0