4. 使用XML来配置Spring对对象的管理

 

之前我们看了如何使用注解配置spring的功能,那么现在我们再看一下如何使用xml配置spring。

 

为了方便展示,笔者再新建一个项目,过程就不赘述。

新项目建好后,我们在main的java目录下,和之前一样,建一个名为hello的包

 

然后把之前的这三个class都copy过来

 

回到spring02项目,因为我们不再使用注解的方式去配置bean了,所以我们把这些注解全都删掉

 

 

把这几个注解删掉后,我们把各个类的包都整理一下,鼠标点中Import这行后,Alt + Enter,再选Optimize imports即可。

 

把MessagePrinter和MessageService的引入都删掉,ApplicationSpring会自动留下两个我们待会要用到的。

 

 

像spring01一样,把spring的核心包通过pom.xml导入进去,这个没什么技术含量的,从spring01复制过来就可以了。

 

点击右下角的 Import Changes保存引入。

 

引入成功后,我们回到自己的项目结构。看到这里有个文件夹叫resources,这个文件夹是maven项目放置基本配置的地方。

 

 我们在这个文件夹下面新建一个xml文件。

 依旧是快捷键Alt + insert键,选择SpringConfig

 

文件名就叫applicationContext

 

 

创建好了之后发现里面有几行代码,也不知道是什么意思,怎么办呢?

 

我们先不去管它,反正不要动就对了。

 

我们在<beans>标签下新加入一个<bean>标签,这样一来这个bean所指向的class就能直接被spring所管理,我们称之为bean类。

<bean id="service" class="hello.MessageService"></bean>  

 

同样的,我们把MessagePrinter也加入到bean中去

<bean id="printer" class="hello.MessagePrinter"></bean>

 

这个时候,我们需要把这两个对象给关联起来,因为printer是包含service的。

我们就在printer的bean标签里加入这样一行xml

<property name="messageService" ref="service">

</property>

 

这行xml的意思是,把service和printer之间建立起联系。

其中property的意思是属性

name则对应Printer类中成员变量的命名

 

ref则对应service对应的bean的id

 

很难理解吗?我们画个图来理一下逻辑

 

这样,它们之间的关系就被绑定起来了。

 

回到ApplicationSpring类,我们删掉一些没有用的代码,留下以下几行就行。

 

 

我们把这行代码改一下,被红框框住的这行代码意思是“注解形式的配置应用程序的上下文”,而我们现在没有用注解,我们用的是XML,所以需要改一下

 

改成这样

 

 

ApplicationContext context = new
ClassPathXmlApplicationContext("applicationContext.xml");

这个构造函数里,我们需要传入一个参数。这个传入的参数表示着刚才我们创建的xml的文件名,因为我们创建的文件名就在resources的根目录下,所以它能自动找到。

 

这个时候,我们的代码就编写完成了,Alt + Shift + F10跑一下~

 

 

也就是说,我们也能通过XML的方式来实现Spring对对象的管理。

 

猜你喜欢

转载自www.cnblogs.com/zilongmao/p/10162460.html