Spring5框架

Spring5框架

Spring5框架概述

一、课程内容介绍

  1. Spring概念
  2. IOC容器
  3. Aop
  4. JdbcTemplate
  5. 事务管理

二、Spring框架概述

  1. Spring是轻量级的开源的JavaEE框架
    • 轻量级:
    • 开源:
    • 框架:
  2. Spring可以解决企业应用开发的复杂性
  3. Spring有两个核心部分:IOC和Aop
    • IOC:控制反转,把创建对象过程交个Spring进行管理
    • Aop:面向切面,不修改源代码进行功能增强
  4. Spring特点
    • 方便解耦,简化开发
    • Aop编程支持
    • 方便程序测试
    • 方便和其他框架进行整合
    • 方便进行事务处理
    • 降低API开发难度

三、Spring5入门案例

  1. 下载Spring5
  2. 打开idea工具,创建普通Java工程
  3. 导入Spring5相关jar包
  4. 创建普通类,在这个类创建普通方法
  5. 创建Spring配置文件,在配置文件配置创建对象
  6. 进行测试代码编写

IOC容器

一、底层原理
二、IOC接口(BeanFactory)
三、IOC操作Bean管理(基于xml)
四、IOC操作Bean管理(基于注解)

一、IOC(概念和原理)

  1. 什么是IOC
    • 控制反转,把对象创建和对象之间的调用,交给Spring进行管理。
    • 使用IOC目的:为了耦合度降低
    • 做入门案例就是IOC实现
  2. IOC底层原理
    • xml解析、工厂模式、反射

二、IOC(BeanFactory接口)

  1. IOC思想基于IOC容器完成,IOC容器底层就是对象工厂

  2. Spring提供IOC容器实现两种方式:(两个接口)

    • BeanFactory:IOC容器基本实现,是Spring内部的使用接口,不提供开发人员进行使用

      加载配置文件时候不会创建对象,在获取对象(使用)才会去创建对象

    • ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用

      加载配置文件时候会把配置文件对象进行创建

    • ApplicationContext接口有实现类

四、IOC操作Bean管理(概念)

  1. 什么是Bean管理
    • Bean管理指的是两个操作
      • Spring创建对象
      • Spring注入属性
    • Bean管理操作有两种方式
      • 基于xml配置文件方式实现
      • 基于注解方式实现
1. IOC操作Bean管理(基于xml方式)
  1. 基于xml方式创建对象

    <!--配置User对象创建-->
        <bean id="user" class="com.atguigu.spring.User"></bean>
    
    • 在Spring配置文件中,使用bean标签,标签里面添加对应属性,就可以实现对象创建

    • 在bean标签有很多属性,介绍常用的属性

      • id 属性:唯一属性
      • class属性:类全路径(包类路径)
    • 创建对象时候,默认也是执行无参数构造方法完成对象创建

  2. 基于xml方式注入属性

    • DI:依赖注入,就是注入属性
  3. 第一种注入方式:使用set方法进行注入

    • 创建类,定义属性和对应的set方法

      package com.atguigu.spring;
      
      /**
       * @Author: dell
       * @DATE: 2022/8/29 15:18
       * @Descrption: 演示使用set方法注入属性
       * @Version
       */
      public class Book {
          //创建属性
          private String bname;
          private String bauthor;
          //创建属性对应的set方法注入
          public void setBname(String bname) {
              this.bname = bname;
          }
      
          public void setBauthor(String bauthor) {
              this.bauthor = bauthor;
          }
      }
      
      
    • 在spring配置文件配置对象创建,配置属性注入

       <bean id="book" class="com.atguigu.spring.Book">
              <!--使用property完成属性注入
                  name: 类里面属性名称
                  value: 向属性注入的值
                -->
              <property name="bname" value="易筋经"></property>
              <property name="bauthor" value="达摩老祖"></property>
          </bean>
      
  4. 第二种注入方式:使用参数构造进行注入

    • 创建类,定义属性,创建属性对应有参构造方法

      package com.atguigu.spring;
      
      /**
       * @Author: dell
       * @DATE: 2022/8/29 16:25
       * @Descrption: 使用有参数构造注入
       */
      public class Orders {
          //属性
          private String oname;
          private String address;
          
          //有参构造
          public Orders(String oname, String address) {
              this.oname = oname;
              this.address = address;
          }
      }
      
    • 在spring配置文件中进行配置

       <!--3 有参数构造注入属性-->
          <bean id="orders" class="com.atguigu.spring.Orders">
              <constructor-arg name="oname" value="电脑"></constructor-arg>
              <constructor-arg name="address" value="China"></constructor-arg>
          </bean> 
      
  5. P名称空间注入(了解)

    • 使用P名称空间注入,可以简化基于xml配置方式

      第一步 添加p名称空间在配置文件中

       <beans xmlns="http://www.springframework.org/schema/beans"
             xmlns:p="http://www.springframework.org/schema/p"
             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标签里面进行操作

       <!-- p名称空间方法注入属性-->
          <bean id="book" class="com.atguigu.spring.Book" p:bname="九阳神功" p:bauthor="无名氏">
          </bean>
      
2. IOC操作Bean管理(xml注入其他类型属性)
  1. 字面量

    • null值

      
      
    • 属性值包含特殊符号

      
      
  2. 注入属性-外部bean

    • 创建两个类service类和dao类

    • 在service调用dao里面的方法

    • 在spring配置文件中进行配置

      
      
  3. 注入属性-内部bean

    • 一对多关系:部门和员工

      一个部门有多个员工,一个员工属于同一个部门

      部门是一,员工是多

    • 在实体类之间表示一对多关系,员工表示所属部门,使用对象类型属性进行表示

      
      
    • 在spring配置文件中进行配置

  4. 注入属性-级联赋值

    • 第一种写法

      
      
    • 第二种写法

      
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值