• 02spring_IoC


    什么是IoC?
    控制反转

    控制反转(Inversion of Control,英文缩写为IoC)是框架的重要特征,并非面向对象编程的专用术语。
    它与依赖注入(Dependency Injection,简称DI)和依赖查找(Dependency Lookup)并没有关系。

    DI 依赖注入


    构造方法注入

    <bean id="sdf" class="java.text.SimpleDateFormat">
    <constructor-arg>
    <value>yyyy年MM月dd日 hh时mm分ss秒</value>
    </constructor-arg>
    </bean>


    <bean name="mysql" class="com.fz.entity.Book">
    <constructor-arg name="id" value="100"/>
    <constructor-arg name="name" value="《mysql数据库技术》"/>
    </bean>


    setter方法注入
    bean类编写
    package com.fz;
    import lombok.Data;
    /**
    * Created by webrx on 2017-07-01.
    */
    @Data
    public class Hello {
    private String name;
    public int pf(int i){
    return i*i;
    }

    public void show(){
    System.out.println("欢迎:" + this.name);
    }
    }

    beans.xml 配置文件中配置如下
    <bean id="hz" class="com.fz.Hello">
    <property name="name" value="张三丰" />
    </bean>

    <bean id="hl" class="com.fz.Hello">
    <property name="name" value="lisisi" />
    </bean>

    集合注入相关
    构造方法数组注入
    <bean id="s1" class="com.entity.Student">
    <constructor-arg name="id" value="1"/>
    <constructor-arg name="name" value="李四"/>
    <constructor-arg name="address" value="郑州市"/>

    <constructor-arg name="addr">
    <array>
    <value>北京</value>
    <value>天津</value>
    <value>上海</value>
    <value>重庆</value>
    </array>
    </constructor-arg>
    </bean>


    List集合
    private List<Book> bks;
    <property name="bks">
    <list>
    <ref bean="mysql"/>
    <ref bean="/a/book"/>
    <ref bean="/book/mysql"/>
    </list>
    </property>

    <bean id="book" class="com.entity.Book">
    <property name="author">
    <list>
    <value>张三</value>
    <value>张三丰</value>
    <value>李四</value>
    </list>
    </property>
    </bean>

    数组
    private String[] addr;
    <property name="addr">
    <array>
    <value>洛阳</value>
    <value>郑州</value>
    <value>北京</value>
    <value>上海</value>
    <value>开封</value>
    </array>
    </property>

    map集合
    <bean name="d1" class="java.util.Date"></bean>
    <bean name="d2" class="java.util.Date"></bean>

    <bean id="book" class="com.entity.Book">
    <property name="ds">
    <map>
    <entry key="d1" value-ref="d1"/>
    <entry key="d2" value-ref="d2"/>
    </map>
    </property>

    <property name="map">
    <map>
    <entry key="s1" value="李四"/>
    <entry key="s2" value="李四"/>
    <entry key="s3" value="李四"/>
    <entry key="s3" value="李四"/>
    </map>
    </property>

    <property name="author">
    <list>
    <value>张三</value>
    <value>张三丰</value>
    <value>李四</value>
    </list>
    </property>
    </bean>

    set 集合
    <property name="set">
    <set>
    <value>aaaa</value>
    <value>bbbb</value>
    <value>cccc</value>
    <value>dddd</value>
    </set>
    </property>

    Properties 集合
    <property name="pro">
    <props>
    <prop key="k1">aaa1</prop>
    <prop key="k2">bbb2</prop>
    <prop key="k3">ccc3</prop>
    <prop key="k3">ddd4</prop>
    </props>
    </property>

    怕什么真理无穷,进一步有一步的欢喜
  • 相关阅读:
    (视频) 《快速创建网站》 2.2 负载均衡简介和域名绑定操作
    (视频) 《快速创建网站》2.1 在Azure上创建网站及网站运行机制
    (视频) 《快速创建网站》1. 网站管理平台WordPress & 微软Azure 云计算简介
    (视频) 开源,免费和跨平台 - MVP ComCamp 2015 KEYNOTE
    【Flask教程01】helloworld程序
    如何在虚拟环境中安装工具包?
    如何使用虚拟环境?
    CentOS 使用ifconfig没有显示ip
    Python Web框架要点
    Python3.7&Django1.11.15 兼容性问题
  • 原文地址:https://www.cnblogs.com/Mkady/p/7201209.html
Copyright © 2020-2023  润新知