android xml java混合编程_Java语言编程第39讲——以XML装配的方式使用Spring

19abc02c21b62dc97c8d3a8dc4ad0a99.png

刚开始学习Spring,就是通过XML的方式来装配各种Bean。实话实说,之前通过XML装配的方式使用Spring,没觉得不方便,也不觉得作出的程序有多复杂。

三年前的某一天,有个刚刚毕业的新同事写了一段代码让我检查,他的程序通过注解的方式来使用Spring,我被他的代码给惊艳到了,从那天起,我将所有的Java工程(或模块)全部替换成注解的方式,XML配置文件从此从我的代码中消失了。

一晃三年过去了,再也没有碰过XML装配文件。今天突然写这个主题,就是想勾起曾经的回忆,算是为了忘却的纪念吧。

下面使用IDEA工具,将程序的开发过程,逐步记录下来。如果你有兴趣,可以打开电脑实操一下。

第1步:打开IDEA,创建一个新的工程,选择空的工程:

eb7cec1c3f0b14be195ef4b1e3dd688c.png

第2步:点击Next,输入工程名XmlProject:

b4274ff96c03cbbf51ed638b72f27a6c.png

第3步:点击Finish,完成工程的创建。

第4步:IDEA自动进入Project Structure界面,我们接着创建模块:

f4dd34a8fa134aeb21934174f7961af0.png

第5步:选择Maven类型的模块:

59bc02269e40fb9acfafd76c5fb128dd.png

第6步:点击“Next”按钮,输入模块的基本信息:

GroupId:com.flying

ArtifactId:xml_spring

53ada4ea63395ee9f773d4f7c9e7343a.png

第7步:点击“Next”按钮,出现下面的界面:

d959be7f1093419da7da5da7233b6b0f.png

第8步:点击“Finish”按钮,完成模块的创建。

第9步:点击“OK”按钮,退出Project Structure界面:

0cbfac7db196823ff854653cca9c08e3.png

第10步:进入https://mvnrepository.com/网站,搜索spring,可以得到spring-context、spring-core、spring-beans的maven依赖:

d82df38e52e62130197080209e0bc5f4.png

第11步:修改pom.xml文件,将上面查到的spring-context、spring-core、spring-beans的依赖加入,现在pom.xml文件的内容变为:

<?xml version="1.0" encoding="UTF-8"?>4.0.0com.flying    xml_spring    1.0-SNAPSHOTorg.springframework            spring-context            5.2.8.RELEASEorg.springframework            spring-core            5.2.8.RELEASEorg.springframework            spring-beans            5.2.8.RELEASE

第12步:刷新maven窗口,并等待完成:

2dcc1fc406d30ad49251742ef4c1a508.png

第13步:在main/java目录中添加 com.flying.xml_spring包:

60483b1b12b22794210ef41671ae9551.png

第14步:在com.flying.xml_spring包中建立Worker接口,代码如下:

package com.flying.xml_spring;public interface Worker {    public void doTheWork();}

第15步:在com.flying.xml_spring包中建立Driver类,该类实现Worker接口,代码如下:

package com.flying.xml_spring;public class Driver implements Worker {    public void doTheWork() {        System.out.println("I am a driver.");        System.out.println("I am driving");    }}

第16步:在com.flying.xml_spring包中建立Teacher类,该类实现Worker接口,代码如下:

package com.flying.xml_spring;public class Teacher implements Worker {    public void doTheWork() {        System.out.println("I am a teacher.");        System.out.println("I am teaching the pupils.");    }}

第17步:在com.flying.xml_spring包中建立WorkerManager类,该类管理多个Worker,代码如下:

package com.flying.xml_spring;public class WorkerManager {    private Worker worker1;    public Worker getWorker1(){        return worker1;    }    public void setWorker1(Worker worker1){        this.worker1 = worker1;    }    private Worker worker2;    public Worker getWorker2(){        return worker2;    }    public void setWorker2(Worker worker2){        this.worker2 = worker2;    }}

第18步:在main/resources目录下创建Spring Config的xml文件:

8a464cae81ac7267189aaa2c5234ae18.png

输入文件名为applicationContext.xml,得到的内容如下:

<?xml version="1.0" encoding="UTF-8"?>

第19步:修改applicationContext.xml文件,加入bean的定义。现在applicationContext.xml内容变为:

<?xml version="1.0" encoding="UTF-8"?>

第20步:修改applicationContext.xml文件,加入bean装配时扫描的包路径。现在applicationContext.xml文件的内容变为:

<?xml version="1.0" encoding="UTF-8"?>

第21步:在com.flying.xml_spring包中建立Application类,用于启动Spring,并执行测试任务。Application类的代码如下:

package com.flying.xml_spring;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Application {    public static void main(String[] args){        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");        WorkerManager workerManager = (WorkerManager)applicationContext.getBean("workerManager");        workerManager.getWorker1().doTheWork();        workerManager.getWorker2().doTheWork();    }}

第22步:运行Application类,得到的结果如下:

22007883c6ed9020871fe7875118aecf.png

可以看到,程序正常运行。这样,我们通过XML配置的方式,让Spring成功生成了三个Bean,并且完成了Bean的装配。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值