博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring框架学习2:spring基本配置
阅读量:4553 次
发布时间:2019-06-08

本文共 2526 字,大约阅读时间需要 8 分钟。

spring的核心工作:1.创建对象   2.维护对象之间的依赖关系

举例:创建一个电脑E470对象,这个对象依赖两个类,显示器和CPU

创建接口:

package com.zs.entity;/** * 创建Cpu接口 */public interface Cpu {    /**     * cpu有运算的方法     */    void calc();}
View Code
package com.zs.entity;/** * 创建显示器接口 */public interface Display {    /**     * 显示器有显示的方法     */    void show();}
View Code

实现接口方法,显示器有两个实现类,一个lg显示器,一个三星显示器,Cpu有一个实现类,英特尔CPU。

package com.zs.entity.impl;import com.zs.entity.Display;/** * lg显示器实现显示器接口 */public class LgDisplay implements Display {    @Override    public void show() {        System.out.println("lg显示器正在显示画面");    }}
View Code
package com.zs.entity.impl;import com.zs.entity.Display;/** * 创建三星显示器类实现显示器接口 */public class SumDisplay implements Display {    @Override    public void show() {        System.out.println("三星显示器正在显示画面");    }}
View Code
package com.zs.entity.impl;import com.zs.entity.Cpu;public class InterCpu implements Cpu {    @Override    public void calc() {        System.out.println("英特尔显示器正在运算");    }}
View Code

然后创建电脑E470对象:

package com.zs.entity.impl;import com.zs.entity.Cpu;import com.zs.entity.Display;/** * 创建e470电脑,电脑有显示器和Cpu */public class E470 {    private Display display;    private Cpu cpu;    /*电脑有自己的工作的方法*/    public void work(){        display.show();        cpu.calc();    }    /*生成get和set方法*/    public Display getDisplay() {        return display;    }    public void setDisplay(Display display) {        this.display = display;    }    public Cpu getCpu() {        return cpu;    }    public void setCpu(Cpu cpu) {        this.cpu = cpu;    }}
View Code

在spring工厂中添加对象:

View Code
BeanFactory是ApplicationContext的父接口,BeanFactory接口定义了一些spring工厂最底层的使用的方法,一
般在spring的源码中我们使用BeanFactory,但是该类不建议程序员直接使用,建议程序员使用
ApplicationContext接口,该接口对BeanFactory功能进行了一些扩展:
1,提供spring的国际化支持
2,提供了事物的处理方式
3,可以加载多个主配置文件
以后一般开发中使用ApplicationContext接口,但是接口不能直接使用,我们可以同
ClassPathXmlApplicationContext类来实例化这个接口。我们也可以使用FileSystemXmlApplicationContext来实
例化该接口。

测试从spring工厂中获取对象:

import com.zs.entity.impl.E470;import org.junit.Test;import org.springframework.context.support.ClassPathXmlApplicationContext;public class SpringTest {    @Test    public void test1() {        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");        E470 e470 = (E470) context.getBean("e470");        e470.work();    }}
View Code

结果如下:

 

转载于:https://www.cnblogs.com/Zs-book1/p/10995602.html

你可能感兴趣的文章
SAP库龄表
查看>>
PhantomJS 基础及示例 (转)
查看>>
20175316盛茂淞 2018-2019-2 《Java程序设计》第3周学习总结
查看>>
zookeeper安装
查看>>
js清空页面控件值
查看>>
Appium使用Python运行appium测试的实例
查看>>
django request bug
查看>>
二叉树_非递归先中后序_递归非递归求深度
查看>>
20181227 新的目标
查看>>
HDFS写流程
查看>>
生产环境服务器环境搭建+ 项目发布
查看>>
js按条件分类json数组,并合计同组数据(一维转换为二维)
查看>>
Exp6 信息搜集与漏洞扫描
查看>>
redis4安装
查看>>
随机生成双色球号码
查看>>
使用命令wsimport构建WebService客户端[转]
查看>>
第八遍:链接详解
查看>>
Qt5.5 使用smtp发邮件的各种坑
查看>>
js奇葩错误 字符串传递问题
查看>>
人之初,性本恶
查看>>