我们是否需要xml文件来使用Annotation进行Spring配置?

Cur*_*ind 1 spring annotations

我正在阅读有关进行Spring配置的方法,并且知道有三种方法可以执行相同的操作:

1)基于XML的简单.
2)使用基于注释.
3)基于Java的配置.

我对#1方法感到满意.基于纯XML.

现在,我尝试使用方法#2即.Using annotation based.

例如:

@Component("circleID")
public class Circle {

    @Autowired
    private Point point;

    @Override
    public String toString() {
        return "Circle [point=" + point + "]";
    }
}
Run Code Online (Sandbox Code Playgroud)

我期望使用Annotation不需要任何xml文件,但我们仍然有以下XML文件.

<context:annotation-config/>
<context:component-scan base-package="com.example.point , com.example.shapes" />
Run Code Online (Sandbox Code Playgroud)

所以不使用注释方法我们提供部分信息,一些是XML,一些是Annotations?

我不清楚这一点,任何人都可以帮助我清除这个疑问吗?

Jes*_*per 5

Spring配置不需要 XML .您可以使用纯Java基于配置(注释)配置Spring.

例如,您可以使用@Configuration@ComponentScan注释创建一个类,而不是使用您在问题中发布的XML :

@Configuration
@ComponentScan(basePackages = {"com.example.point", "com.example.shapes"})
public class MySpringConfig {

    public static void main(String[] args) {
        // Create Spring ApplicationContext from annotation config
        ApplicationContext context =
                new AnnotationConfigApplicationContext(MySpringConfig.class);

        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

请参阅Spring Framework参考文档中的基于Java的容器配置.