Annotation和XML

小课堂

分享人:陈昊

1.背景介绍

2.知识剖析

3.常见问题

4.解决方案

5.编码实战

6.扩展思考

7.参考文献

8.更多讨论

1.背景介绍

Spring的依赖注入给我们带来了很大的方便,Spring通过依赖注入模式,将依赖关系从编码中脱离出来,从而大大降低了组件之间的耦合,实现了组件真正意义上的即插即用。这也是Spring最具价值的特性之一。

为什么要注入bean,Spring容器是一个空的框架,我们要把需要的bean自己注入到容器中管理。Spring提供了两种配置bean的方式。一种是基于配置文件的,一种是使用注解配置。

2.知识剖析

使用注解方法或者使用XML配置本质都是为Spring容器提供bean的定义信息。

采用XML方法的配置,则bean的定义信息和实现类本身是分离的;采用注解的方法配置,那么bean的定义定义信息通过在bean的实现类上标注实现。

3.常见问题

1.注解方法和XML配置方法各自有那些优势和劣势?

2.基于注解和基于XML配置方法分别适用于那些情况?

4.解决方案

1注解方法和XML配置方法各自有那些优势和劣势?

注解的优势:

简化了XML配置;其实大部分注解一定确定后很少会改变,所以在一些中小项目中使用注解可以提升开发效率;

编辑期可以验证正确性,查错变得容易

注解的劣势:

注解都分散在类中,不好管理和维护。

与源代码绑定,所以在修改配置的时候就需要涉及到修改源代码,并且在修改过后还需要重新打包,发布,重新启动服务。

1注解方法和XML配置方法各自有那些优势和劣势?

XML的优势:

降低耦合,与源代码分开,修改配置不需要涉及到源代码,并且在修改配置后只需要重启服务即可。

配置文件集中,查看比较方便。在处理大的业务量的时候,用XML配置应该更加好一些。因为XML更加清晰的表明了各个对象之间的关系,各个业务类之间的调用。

相对于注解功能更加齐全。

XML的劣势:

XML方式在项目比较大的时候会看起来冗长。代码量比较大,配置文件读取和解析需要耗时。

2基于注解和基于XML配置方法分别适用于那些情况?

了解了注解和XML配置各自的优劣之后,就可以根据情况有选择行的进行使用

比如想要代码简单,并且工程量不大,而且也不会经常改动,就可以使用注解的方法。 那如果内部分层复杂,逻辑也很多,需要经常的查看和修改就可以用XML方法。

另外,一般在我们使用第三方的类库的时候,由于代码中没有地方能加注解,比如datasource等,所以都用XML方法配置.

5.编码实战

6.扩展思考

可不可以注解和XML配置的方式同时使用?

7.参考文献

参考一:Spring实战(Spring in action) CraigWalls

参考二:SpringGuide

参考三:甘乐师兄的小课堂

8.更多讨论

欢迎大家交流和讨论

鸣谢

感谢大家观看

BY : 陈昊