框架应用:Spring framework (一) - IoC技术

时间:2023-03-10 06:56:07
框架应用:Spring framework (一) - IoC技术

  

IoC概念以及目标

  框架应用:Spring framework (一) - IoC技术

  IoC就是让原本你自己管理的对象交由容器来进行管理,其主要的目的是松耦合.

IoC发展史

  既然IoC的目标是为了松耦合,那它怎么做到的?

  框架应用:Spring framework (一) - IoC技术

  最后目标:降低对象之间的耦合度,IoC技术加入了配置把编码中对象的耦合度降低了.

IoC的底层原理

  IoC底层使用的技术包括:

     (1)xml配置文件

     (2)dom4j解决xml

     (3)工厂设计模式

     (4)反射  

        框架应用:Spring framework (一) - IoC技术

IoC应用入门

  一.导入jar包

    IoC是Spring framework的基础技术,所以需要导入基础包;

    框架应用:Spring framework (一) - IoC技术

  二.创建类,在类里面创建方法

    需要创建交与容器的类模板(拥有getter和setter的POJO类)

    框架应用:Spring framework (一) - IoC技术

  三.创建spring配置文件,配置创建类

    (1)spring的核心配置文件名称和位置不是固定的,

    官方推荐放置于src下面,命名为applicationContext.xml

    (2)引入schema约束

    框架应用:Spring framework (一) - IoC技术

    框架应用:Spring framework (一) - IoC技术

    (3)配置对象创建

    框架应用:Spring framework (一) - IoC技术

  四.测试对象创建

    框架应用:Spring framework (一) - IoC技术  

xml配置文件头部提示错误

  解决方法是把schema约束引入spring,把约束文件引入到spring中.

   框架应用:Spring framework (一) - IoC技术

   框架应用:Spring framework (一) - IoC技术

IoC的三种配置管理方式

  xml

    实例化的三种方式

      第一种使用类无参构造(重点)

      框架应用:Spring framework (一) - IoC技术  

      第二种使用静态工厂来进行实例化

      框架应用:Spring framework (一) - IoC技术

      框架应用:Spring framework (一) - IoC技术

      第三种使用实例工厂创建

      框架应用:Spring framework (一) - IoC技术

      框架应用:Spring framework (一) - IoC技术

  bean标签常用的属性

     常用属性有id, class, name, scope

     id用于创建标识

     class键入类的全路径名,引入模板类

     name和id功能一致,但name允许包含特殊字符

     scope用于指定创建类的方式以及其使用范围,参数如下

       -singleton  单例创建对象,也就是始终都复用同一个对象,不会进行第二轮的创建

       -prototype  每次创建都会创建一个新的对象

       -request   创建对象并放置到request域中

       -session  创建对象并放置到session域中

       -globalSession  用于实现单点登录功能,比如百度下有百度云,百度翻译,百度相册之类多个应用,但是你只要登录上一个位置,多个位置都可以使用登录信息,这就是单点登录;这个参数基本不会使用,因为有一种就redis的技术更好地实现了这种功能.

  属性注入

    属性注入三种方式

      框架应用:Spring framework (一) - IoC技术

  set方法注入属性,其中包含基础属性注入,对象属性注入,复合属性注入

    基础属性注入

      框架应用:Spring framework (一) - IoC技术

      框架应用:Spring framework (一) - IoC技术

    对象属性注入

      框架应用:Spring framework (一) - IoC技术

      框架应用:Spring framework (一) - IoC技术

  

    复合属性的注入

      1.数组

      2.list集合

      3.map集合

      4.properties

<bean id="person" class="com.harry.ioc.test">
        <!-- 数组 -->
        <property name="arrs">
            <list>
                <value>引用名1</value>
                <value>引用名2</value>
                <value>引用名3</value>
            </list>
        </property>

        <!-- list -->
        <property name="list">
            <list>
                <value>引用名4</value>
                <value>引用名5</value>
                <value>引用名6</value>
            </list>
        </property>

        <!-- map -->
        <property name="map">
            <map>
                <entry key="aa" value="引用名7"></entry>
                <entry key="bb" value="引用名8"></entry>
                <entry key="cc" value="引用名9"></entry>
            </map>
        </property>

        <!-- properties -->
        <property name="properties">
            <props>
                <prop key="driverclass">com.mysql.jdbc.Driver</prop>
                <prop key="username">root</prop>
            </props>
        </property>
    </bean>

复合属性注入

  有参构造函数注入属性

      框架应用:Spring framework (一) - IoC技术

  javaConfig类

    

  注解

    一.注解介绍

      1.代码里特殊标记,使用注解可以完成功能

      2.注解写法 @(属性名称=属性值)

      3.注解可以使用在类,方法和属性之上

    二.spring的注解开发导入包

      1.core包

        框架应用:Spring framework (一) - IoC技术

      2.aop包

        框架应用:Spring framework (一) - IoC技术

    三.创建类和方法

    

    四.创建spring配置文件引入新约束,开启注解扫描

      框架应用:Spring framework (一) - IoC技术

      框架应用:Spring framework (一) - IoC技术

  五.注解创建对象

    1.使用注解标记类

    框架应用:Spring framework (一) - IoC技术

    2.创建对象有四个注解标记

      框架应用:Spring framework (一) - IoC技术

    3.创建对象方式,单例还是多例

      框架应用:Spring framework (一) - IoC技术

  六.注解注入属性

    1.创建service类,创建dao类

      框架应用:Spring framework (一) - IoC技术

      框架应用:Spring framework (一) - IoC技术

    2.在service类使用注解注入dao

     方式一.采用自动装载@Autowired

       框架应用:Spring framework (一) - IoC技术

     方式二.采用@Resource获取特定名称对象

        框架应用:Spring framework (一) - IoC技术

   七.配置文件和注解混合使用

     1.配置文件创建对象注入容器

        框架应用:Spring framework (一) - IoC技术

     2.使用注解让容器实现属性注入

        框架应用:Spring framework (一) - IoC技术

IoC和DI的区别所在

  很多人认为IoC和DI是一个事物的两种说法,其实之间存在着细微的不同.

    -IoC,控制反转,将对象交由容器进行管理;

    -DI,依赖注入,将属性注入于对象之中;

    -DI是依赖于控制反转技术的,如果使用IoC技术也就无法使用注入功能.

Spring整合web项目的原理

   

1 加载spring核心配置文件,

  框架应用:Spring framework (一) - IoC技术

2 实现思想:把加载配置文件和创建对象过程,在服务器启动时候完成

3 实现原理

(1)ServletContext对象

(2)监听器

(3)具体使用:

  - 在服务器启动时候,为每个项目创建一个ServletContext对象

  - 在ServletContext对象创建时候,使用监听器可以具体到ServletContext对象在什么时候创建

  - 使用监听器监听到ServletContext对象创建时候,

    -- 加载spring配置文件,把配置文件配置对象创建

    -- 把创建出来的对象放到ServletContext域对象里面(setAttribute方法)

  - 获取对象时候,到ServletContext域得到 (getAttribute方法)