我正在学习春天3,我似乎没有把握背后的功能<context:annotation-config>和<context:component-scan>。 根据我的阅读,他们似乎处理不同的注释(@ Required,@ Autowired等vs @Component,@ Repository,@ Service等),但是从我读过的内容中他们注册了相同的bean后处理器类。 为了让我更加困惑,有一个annotation-config属性<context:component-scan>。 有人可以对这些标签有所了解吗?什么是相似的,什么是不同的,一个被另一个取代,它们相互完成,我是否需要其中一个,两者兼而有之? <context:annotation-config> 用于激活已在应用程序上下文中注册的bean中的注释(无论它们是使用XML还是通过包扫描定义的)。 <context:component-scan>也可以做什么<context:annotation-config>但<context:component-scan>也扫描包以在应用程序上下文中查找和注册bean。 我将用一些例子来说明差异/相似之处。 让我们用型的三种豆基本设置开始A,B并且C,与B和C被注入A。 package com.xxx; public class B { public B() { System.out.println("creating bean B: " + this); } } package com.xxx; public class C { public C() { System.out.println("creating bean C: " + this); } } package com.yyy; import com.xxx.B; import com.xxx.C; public class