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

时间:2016-07-12 07:51:41

标签: 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 + "]";
    }
}

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

<context:annotation-config/>
<context:component-scan base-package="com.example.point , com.example.shapes" />

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

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

1 个答案:

答案 0 :(得分: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);

        // ...
    }
}

请参阅Spring Framework参考文档中的Java-based container configuration