Spring framework简介

  spring framework这个框架是spring项目中的核心项目,所有框架都依赖于这个框架.

  它是一个一站式的开源框架,基础技术是IoC.

  框架应用 : Spring - 开发详述

  按官方文档主要分块为核心技术,测试,数据访问,Web,Integration

  核心技术主要表现在Ioc容器,资源访问类Resource,校验,数据绑定和类型转换,Spring EL表达式,AOP

  测试包含单元测试以及Integration测试

  数据访问包含事务管理, DAO support, JDBC支持, ORM支持(Mybatis,Hibernate)

  Web包含Spring MVC,WebSocket支持,其他MVC框架支持(Struts)

  Integration是分布式项目会使用到的功能,不了解.

  框架应用 : Spring - 开发详述

  上图的每一个模块都对应了相当的jar包,所以使用某一模块必须把jar包依赖导入,

IoC概念以及目标

  框架应用 : Spring - 开发详述

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

IoC发展史

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

  框架应用 : Spring - 开发详述

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

IoC的底层原理

  IoC底层使用的技术包括:

     (1)xml配置文件

     (2)dom4j解决xml

     (3)工厂设计模式

     (4)反射  

        框架应用 : Spring - 开发详述

IoC应用入门

  一.导入jar包

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

    框架应用 : Spring - 开发详述

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

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

    框架应用 : Spring - 开发详述

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

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

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

    (2)引入schema约束

    框架应用 : Spring - 开发详述

    框架应用 : Spring - 开发详述

    (3)配置对象创建

    框架应用 : Spring - 开发详述

  四.测试对象创建

    框架应用 : Spring - 开发详述  

xml配置文件头部提示错误

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

   框架应用 : Spring - 开发详述

   框架应用 : Spring - 开发详述

 

 

IoC的三种配置管理方式

  xml配置

    实例化的三种方式

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

      框架应用 : Spring - 开发详述  

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

      框架应用 : Spring - 开发详述

      框架应用 : Spring - 开发详述

      第三种使用实例工厂创建

      框架应用 : Spring - 开发详述

      框架应用 : Spring - 开发详述

  bean标签常用的属性

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

     id用于创建标识

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

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

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

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

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

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

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

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

 

  属性注入

    属性注入三种方式

      框架应用 : Spring - 开发详述

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

    基础属性注入

      框架应用 : Spring - 开发详述

      框架应用 : Spring - 开发详述 

    对象属性注入

      框架应用 : Spring - 开发详述

      框架应用 : Spring - 开发详述

    复合属性的注入

      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>
复合属性注入

相关文章:

  • 2021-07-07
  • 2021-05-26
  • 2021-11-21
  • 2021-12-03
  • 2021-05-22
  • 2022-12-23
  • 2021-10-26
猜你喜欢
  • 2021-11-01
  • 2021-08-01
  • 2021-06-10
  • 2021-11-22
  • 2021-12-15
相关资源
相似解决方案