• spring Code(spring 核心)


    一.spring的作用
    spring 就是为了让我们以后能够做大的项目准备的。spring核心的功能就是一个工厂模式,spring相当于为你的项目专门成立一个一个工厂,这个工厂负责创建对象 ,维护对象之间的关系。你需要对象了,以前是直接new,现在
    从spring 的工厂里面获取。
    spring 的核心完成两个工作:
    1,创建对象
    2,维护对象之间的依赖关系。
    二.spring的基本配置
    1.创建java项目,导入jar包
    2.在src下创建主配置文件applicationContext
    3.创建实体类
      创建Display的接口:

      创建Display的两个实现类:   

    LgDisplay:
    SumSingDisplay:

      创建CPU接口:

    创建CPU接口是实现类InterlCpu:

    创建E470笔记本的类,这个类要依赖两个属性一个是显示器Display,一个是Cpu:
    /* 组装E470笔记本
    */
    public class E470 {
    //这里需要依赖接口
    private Display display;
    private Cpu cpu;
    /**
    * 笔记本工作的方法
    */
    public void work(){
    //cpu进行计算
    cpu.calc();
    //显示器显示
    display.display();
    }
    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;
    }
    }
    4.在spring的工厂中创建对象
    <!--创建一个Lg显示器的对象
    spring中以bean的方式管理对象,一个bean就代表创建了一个对象
    class 配置类的完全限定名,表明该对象是哪个类的对象
    id 配置类的唯一标识
    -->
    <bean id="lgDisplay" class="com.aaa.spring.entity.LgDisplay"></bean>
    <!--创建一个三星显示器的对象-->
    <bean id="sumSingDisplay" class="com.aaa.spring.entity.SumSingDisplay"></bean>
    <!--创建英特尔cpu的对象-->
    <bean id="interlCpu" class="com.aaa.spring.entity.InterlCpu"></bean>
    <!--创建E470笔记本的对象-->
    <bean id="e470" class="com.aaa.spring.entity.E470">
    <!--维护对象之间的依赖关系
    ref是引用哪个对象,这里要写对象的id
    -->
    <property name="display" ref="lgDisplay"></property>
    <property name="cpu" ref="interlCpu"></property>
    </bean>
    </beans>
    5.测试
    /**
    * 测试从spring工厂中获取对象
    */
    public class Test01 {
    public static void main(String[] args) {
    //创建spring的工厂类的对象
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
    //从工厂中获取对象
    E470 e470 = (E470)context.getBean("e470");
    //调用对象的方法
    e470.work();
    }
    }
    总结:
    spring的作用 1,创建对象 2,维护对象之间的关系
    IOC 控制反转 主要是指在项目开发中对象创建方式的变化,原来不使用spring 创建对象是在程序中创建的,这样
    对象和程序的耦合性就较强,不利用之后项目的扩展和维护。使用了spring之后,对象创建就放到工厂中进行了。
    DI 依赖注入 主要指的对象之间关系的维护。原来在程序中如果一个对象要依赖另外一个对象了,可以直接调用对
    象属性的setter方法。使用spring之后,我们通过spring依赖注入的方式维护对象之间的关系。
    三.spring的BeanFactory和ApplicationContext
    BeanFactory是ApplicationContext的父接口,BeanFactory接口定义了一些spring工厂最底层的使用的方法,一
    般在spring的源码中我们使用BeanFactory,但是该类不建议程序员直接使用,建议程序员使用
    ApplicationContext接口,该接口对BeanFactory功能进行了一些扩展:
    1,提供spring的国际化支持
    2,提供了事物的处理方式
    3,可以加载多个主配置文件
    以后一般开发中使用ApplicationContext接口,但是接口不能直接使用,我们可以同
    ClassPathXmlApplicationContext类来实例化这个接口。我们也可以使用FileSystemXmlApplicationContext来实例化该接口:
  • 相关阅读:
    BZOJ1717: [Usaco2006 Dec]Milk Patterns 产奶的模式
    BZOJ1031: [JSOI2007]字符加密Cipher
    关于后缀数组的实现
    BZOJ1692: [Usaco2007 Dec]队列变换
    BZOJ1725: [Usaco2006 Nov]Corn Fields牧场的安排
    POJ 2386 Lake Counting(搜索联通块)
    POJ 2386 Lake Counting(搜索联通块)
    Java演示设计模式中的写代码的代码
    Java演示设计模式中的写代码的代码
    源码映射
  • 原文地址:https://www.cnblogs.com/duguangming/p/10895007.html
Copyright © 2020-2023  润新知