zoukankan      html  css  js  c++  java
  • Java Spring-IOC和DI

    2017-11-06 16:30:25

    IOC:控制反转,将对象的创建权交由Spring管理。IOC底层原理:工厂类+反射+配置文件,创建对象交由工厂类完成。

    DI(Dependency Injection):依赖注入,在Spring创建对象的过程中,把对象依赖的属性注入到类中。

    • IOC装配Bean

    Spring框架Bean实例化的方法:

    * 构造方法实例化(默认无参数构造):主要采用这种方法
    * 静态工厂实例化
    * 实例工厂实例化

    配置文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
        <!--默认采用无参构造进行实例化-->
        <bean id="bean1" class="spring2.Bean1"></bean>
    
        <!--采用静态工厂实例化,class为工场的类,并且要传方法名-->
        <bean id="bean2" class="spring2.Bean2Fac" factory-method="getBean2"/>
    
        <!--采用实例工场实例化-->
        <bean id="bean3fac" class="spring2.Bean3Fac"/>
        <bean id="bean3" factory-bean="bean3fac" factory-method="getBean3"/>
    
    </beans>
    

    类:

    /**
     * 使用默认构造方法进行实例化
     */
    public class Bean1 {
    
        public void method()
        {
            System.out.println("Hello spring.");
        }
    
        public void show(){
            System.out.println("Hello spring.");
        }
    }
    
    /**
     * 使用静态工厂实例化
     */
    
    public class Bean2 {
    }
    
    public class Bean2Fac {
        public static Bean2 getBean2(){
            return new Bean2();
        }
    }
    
    /**
     * 使用实例工厂实例化
     */
    
    public class Bean3 {
    
    }
    
    public class Bean3Fac {
        public Bean3 getBean3(){
            return new Bean3();
        }
    }
    
  • 相关阅读:
    python 读取邮件
    windows 关于时间的计算
    python 发送 smtp
    常用HTML富文本编辑器
    数据库设计:用户登录系统数据库表设计
    在当前页面打开一个固定的窗口(页面):这种方式弹出来的窗口进行表单提交可更新父类窗口
    后台模板
    springboot/springmvc转换器
    设计模式目录
    组合条件分页查询
  • 原文地址:https://www.cnblogs.com/hyserendipity/p/7794179.html
Copyright © 2011-2022 走看看