阿里面试题一:spring里面使用xml配置和注解配置区别

阿里是众多程序员梦寐以求的地方,今天我们分享阿里的一个真实面试题,看似简单,回答起来确实没有头绪?下面我们分几点给大家说下答案。

适用场景

Xml配置场景:

1.Bean实现类来源于第三方类库,如DataSource、JdbcTemplate等,因为无法在类中标注注解,所以通过XML配置方式较好;

2.命名空间的配置,如aop、context等,只能采用基于XML的配置

基于注解配置适用情况:

Bean的实现类是当前项目开发的,可以直接在Java类中使用基于注解的配置。

各自优缺点

XML的优点:

1. XML配置方式进一步降低了耦合,使得应用更加容易扩展,即使对配置文件进一步修改也不需要工程进行修改和重新编译。

2. 在处理大的业务量的时候,用XML配置应该更加好一些。因为XML更加清晰的表明了各个对象之间的关系,各个业务类之间的调用。同时spring的相关配置也能一目了然。

3、利用 xml 配置能使软件更具扩展性。例如 Spring 将 class 间的依赖配置在 xml 中,最大限度地提升应用的可扩展性。

4.具有成熟的验证机制确保程序正确性。利用 Schema 或 DTD 可以对 xml 的正确性进行验证,避免了非法的配置导致应用程序出错。

缺点:

需要解析工具或类库的支持。

解析 xml 势必会影响应用程序性能,占用系统资源。

配置文件过多导致管理变得困难。

编译期无法对其配置项的正确性进行验证,或要查错只能在运行期。

查错变得困难。往往配置的一个手误导致莫名其妙的错误。

开发人员不得不同时维护代码和配置文件,开发效率变得低下。

Annotation的优点:

1. 在class文件中,可以降低维护成本,annotation的配置非常简单。

2. 不需要第三方的解析工具,利用java反射技术就可以轻松获取been。

3. 编辑器会实时校验错误,如果注解错误会有提醒。

4. 不用维护xml配置文件,提高了开发效率。

缺点:

如果需要对于annotation进行修改,那么要重新编译整个工程。

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

小编整理了一份JAVA高级资料,有需要的可以加一下小编QQ群:714526711,即可免费领取哦!!!

热门框架源码学习

微服务架构实战

系统性能优化

高并发和分布式技术

电商项目实战

容器化技术专题

搜索引擎

以上资料是我结合自己和身边朋友的面试经历而整理的,希望对面试的朋友或者在找工作的程序员们有所帮助。大家对技术感兴趣的朋友也可以关注我,加群:714526711会不定期更新

猜你喜欢

转载自blog.csdn.net/javaxueyuan_yezi/article/details/89244623