Spring

学习内容

  1. Spring框架概述
  2. IOC容器
  3. AOP
  4. JdbcTemplate
  5. 事务管理
  6. Spring5新特性

Spring框架概述

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

下载地址:https://repo.spring.io/release/org/springframework/spring

编写第一个Spring程序

  1. 先建立libs目录,在项目下新建libs目录,并把5个相关的jar包复制到libs目录下。5个jar包如下图。

    image-20210515121308841

  2. 点击File找到Project Structure中的Modules中的Dependencies,点击右边的加号,选择JARs or directories,然后找到刚刚复制进来的5个jar包,最后点击Apply即可。

    image-20210515122359426

  3. 在src下新建一个Spring的配置文件,通过配置文件来创建对象。这里使用的是xml类型的配置文件。这里配置文件的名称为bean1.xml

    <?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">
    
    <!--  配置User对象创建  -->
        <bean id="user" class="top.lukeewin.spring5.User"></bean>
    </beans>
    
  4. 在src中新建一个包,名为top.lukeewin.spring5,然后在包中新建一个User类。User类中的代码如下。

package top.lukeewin.spring5;

public class User {
    public void add() {
        System.out.println("add...");
    }
}
  1. 编写测试代码。
   package top.lukeewin.testdemo;
   
   import org.junit.Test;
   import org.springframework.context.ApplicationContext;
   import org.springframework.context.support.ClassPathXmlApplicationContext;
   import top.lukeewin.spring5.User;
   
   public class TestSpring5 {
   
       @Test
       public void testAdd() {
           //1.加载Spring配置文件
           ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
   
           //2.获取配置创建的对象
           User user = context.getBean("user", User.class);
   
           System.out.println(user);
           user.add();
       }
   }
  1. 最后就可以运行该Spring程序了。运行结果如下图。

    image-20210515123140925

IOC概念和原理

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

IOC

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

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

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

      加载配置文件时,不会创建对象,在获取对象时,才会创建对象。

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

      在加载配置文件时候就会创建对象。

  3. ApplicationContext中的主要实现类

    • ClassPathXmlApplicationContext
    • FileSystemXmlApplicationContext

IOC操作Bean管理

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

Q.E.D.


热爱生活,热爱程序