22. 自动装配有哪些限制(需要注意)?

自动装配有哪些限制(需要注意)?

  • 一定要声明set方法
  • 覆盖: 你仍可以用 < constructor-arg >和 < property > 配置来定义依赖,这些配置将始终覆盖自动注入。
  • 基本数据类型:不能自动装配简单的属性,如基本数据类型、字符串和类。 (手动注入还是可以注入基本数
    据类型的
  • 模糊特性:自动装配不如显式装配精确,如果有可能尽量使用显示装配。

所以更推荐使用手动装配(@Autowired(根据类型、再根据名字) ref=“” 这种方式 更加灵活更加清晰 )

额外补充

1、自动装配模式

  • no
    这是默认的自动装配模式。这意味着默认情况下没有自动装配。
  • byName
    byName模式根据bean的名称注入对象依赖项。在这种情况下,属性名称和bean名称必须相同。它在内部调用setter方法。
  • byType
    byType模式根据类型注入对象依赖项。因此属性名称和bean名称可以不同。它在内部调用setter方法。
  • constructor
    构造函数模式通过调用类的构造函数来注入依赖项。它会调用具有大量参数的构造函数。
  • autodetect
    从Spring 3开始不推荐使用。

自动装配的优点

  • 它需要 更少的代码,因为我们不需要编写代码来显式注入依赖项。

你可能感兴趣的:(java,spring,后端,spring,boot,spring,cloud,intellij-idea,java-ee)