@Autowired
与 不同。@Required
@Autowire
注释(如代码示例中所示)告诉 ApplicationContext(又名 Spring-IoC-Containter)注入所需的依赖项。(无论如何,如果通过使用注释或应用程序上下文的XML文件)。
@Required-Annotation
告诉 ApplicationContext,必须在 XML 文件(ApplicationContext 的 XML-File)中提及此属性,这会导致使用 XML-File 注入依赖项(或者当然是预期)。但是注释本身并没有告诉注入依赖关系!注入之所以完成,是因为 XML 文件中提到了该属性。很高兴知道,你可能需要它。
在XML文件中提及该属性,我的意思是这样的配置,例如:
<bean id="MyClass" class="com.myclasses.common.MyClass">
<property name="someProperty" value="ValueThatHasToBeInjected" />
</bean>
那么,为什么我应该在@Autowired注释中使用它呢?
当依赖项必须由 XML 配置文件中的信息注入时,应使用它。
你能给我举个例子吗?
好吧,这个网站上已经有一个非常好的例子。