当前位置: 首页 > 面试题库 >

Xml配置与基于注释的配置

南宫松
2023-03-14
问题内容

在最近我从事的一些大型项目中,选择其中一种(XML或注释)似乎变得越来越重要。随着项目的发展,一致性对于可维护性非常重要。

我的问题是:与基于注释的配置相比,基于XML的配置有哪些优势?与基于XML的配置相比,基于注释的配置有哪些优势?


问题答案:

注释有其用途,但它们不是杀死XML配置的灵丹妙药。我建议将两者混合!

例如,如果使用Spring,则将XML用于应用程序的依赖注入部分是完全直观的。相比之下,这使代码的依赖关系脱离了将要使用它的代码,相反,在代码中使用某种需要依赖关系的注释使代码知道这种自动配置。

但是,与其将XML用于事务管理,不如将其标记为带有注释的事务方法是很有意义的,因为这是程序员可能希望知道的信息。但是,不应将接口作为SubtypeY而不是SubtypeX插入类中,因为如果您现在想要注入SubtypeX,则必须更改代码,而无论如何您都必须先进行接口协定,所以使用XML,您只需要更改XML映射即可,而且这样做非常快捷,轻松。

我没有使用过JPA批注,所以我不知道它们的优劣,但是我认为将bean的映射关系保留为XML也很好,因为该对象不必关心其信息来自何处。 ,它应该只关心它可以使用其信息做什么。但是,如果您喜欢JPA(我对此没有任何经验),就一定要去做。

一般而言:如果注释提供了功能并本身充当注释,并且没有将代码绑定到某些特定过程以使没有该注释的功能正常运行,请使用注释。例如,标记为事务性的事务方法不会破坏其操作逻辑,并且还可以充当良好的代码级注释。否则,此信息最好用XML表示,因为尽管它最终会影响代码的运行方式,但不会更改代码的主要功能,因此不属于源文件。



 类似资料:
  • 问题内容: 最近,在我们的团队中,我们开始讨论在代码中使用spring注释来定义spring依赖关系。当前,我们正在使用context.xml定义依赖项。您能给我一些关于这两种方法的线索吗?何时更好地使用? 编辑:我知道这似乎是对更一般的问题的重复问题,但是我对仅依赖注入的注解和配置的影响感兴趣,我相信与一般问题相比,注解和配置的影响会有所不同。 问题答案: 在阅读了此处的一些相关文章并在团队中进

  • 我是Spring的新手,尝试将基于xml的配置转换为注释basic。我读了这个教程。它与基于xml的配置完美结合。MVCSpring积垢教程 现在我将所有基于xml的配置转换为注释,但我有一个问题。我几乎把我读到的东西都读了一遍,但我没有解决这个问题。 组织。springframework。豆。工厂BeanCreationException:创建名为“personController”的bean时

  • 我最近的目标是构建一个Spring Boot应用程序,但不需要任何XML配置文件(或尽可能少),因此我希望避免使用一些XML文件(即web.XML),特别是对于一些bean定义部分。 更难的部分来了。 我想使用@AutoWired注释将一个SessionFactory bean注入到类中,但每次尝试启动应用程序时,我都得到: unsatisfiedDependencyException:创建名为“

  • 当我使用Spring framework时,我经常看到2个术语基于Java和基于注释的配置/自动生成。 如果它们不一样,你能告诉我它们之间有什么不同吗?

  • 我最近在使用作为Spring Boot applications(v2.2)开发的微服务,在我的公司,我们使用Keycloak作为授权服务器。我们之所以选择它,是因为我们需要复杂的策略、角色和组,我们还需要用户托管授权(UMA)来在用户之间共享资源。 有没有一种方法可以在控制器级别使用某种注释?类似于下面的伪代码:

  • 从Spring 2.5开始,可以使用annotations配置依赖注入。 因此,不是使用XML来描述bean连接,而是可以通过在相关的类,方法或字段声明上使用注释将bean配置移动到组件类本身。 在注入XML之前执行注释注入。 因此,对于通过两种方法连接的属性,后一种配置将覆盖前者。 默认情况下,Spring容器中未打开注释接线。 因此,在我们使用基于注释的布线之前,我们需要在Spring配置文件