Discuss / Java / 为什么我们学校教的注解配置也要有xml。。。

为什么我们学校教的注解配置也要有xml。。。

Topic source

蓝霭

#1 Created at ... [Delete] [Delete and Lock User]

xml里还得加这么一行

<context:component-scan base-package="com.example.task1_di_annotation"/>

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

那你得问你们学校的老师……

这个是看你怎么读取配置的,因为这一节是把所有XML的配置都写在了AppConfig上,然后在创建容器时改用AnnotationConfigApplicationContext,这是时候往XML中添加:

<context:component-scan base-package="..."/>

就没有意义了,Spring根本就不去关心XML的内容。

如果我们光使用@Component注解,在创建容器时仍然采用ClassPathXmlApplicationContext,那么这些注解根本不会生效,因为Bean的扫描需要我们主动告诉Spring,而告诉的方式就是把上面的context:component-scan标签写进XML文件里。

你可以试一下把AppConfig删掉,然后创建容器时使用ClassPathXmlApplicationContext,并且在XML中添加context:component-scan标签(使用这个标签还要声明context的命名空间),@Component注解一样可以使用。


  • 1

Reply