0

Spring2.5 有一个名为dependency-check 的特性,可以为bean 标签提供,而default-dependency-check 可以在父级<beans>标签上提供。

例如:<bean id="soandSo" class="..." dependecy-check=""/>

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd" 
    default-dependency-check="all">

但是在 Spring3.x 中,这些属性已被弃用,除了使用@Required属性和任何等效于 Spring3.x 中的默认依赖项检查之外,还有其他设置依赖项检查的方法吗?

4

2 回答 2

1

自 Spring 3.x 起不再支持此功能。您可以通过告诉 Spring 尊重@Required@Autowired注释来实现类似的结果。它可以使用 XML 上下文文件中的以下任何配置选项来完成:

  1. <context:annotation-config/>
  2. <context:component-scan base-package="*"/>

您可以通过注册适当的选项来跳过这些选项,BeanPostProcessors例如AutowiredAnnotationBeanPostProcessorRequiredAnnotationBeanPostProcessor

于 2013-01-02T20:41:36.423 回答
0

我认为不会,因为在 Spring 2.5 中,注释已被完全接受,并且随着框架通过这些类型的更改而发展,很明显,注释将继续成为保持框架尽可能清晰和直接的强大驱动力。

Spring 团队现在鼓励开发人员使用以下替代方案(Spring 3 及更高版本)。

  • 仅使用构造函数(构造函数注入而不是 setter 注入)来确保设置正确的属性。使用实现的专用 init 方法创建设置器。
  • @Required在需要属性时创建带有注释的 setter 。
  • 使用@Autowired- 驱动的注入,这也意味着默认情况下需要的属性。
于 2012-10-18T13:30:28.897 回答