Spring5

Spring 框架概述

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

入门案例

Spring5

  • IDEA 创建 Java 工程,导入基础jar包
    Spring5
  • 创建普通类,创建spring配置文件,配置创建的类
public class User {
    public void add(){
        System.out.println("hello Spring5");
    }
}


<?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">

    <bean id="user" class="cn.demo.spring5.domain.User"></bean>
</beans>
  • 获取 User 对象
    Spring5

IOC容器

  • 控制反转,把对象创建和对象之间的调用过程交给Spring管理,目的是为了降低耦合
  • 底层原理:xml 解析、工厂模式、反射
    • 工厂模式
      Spring5
      Spring5
  • IOC容器实现的两种方式:(两个接口)
    • BeanFactory:基本实现方式,不推荐使用。加载配置文件时不会创建配置文件中的类的对象
    • ApplicationContext:BeanFactory的子接口,加载配置文件时会创建配置文件中的类的对象。此接口的实现类如下:
      Spring5
  • Bean 管理:Spring创建对象、注入属性
    • 实现方式 ①:xml
      • 创建对象、set 注入属性
      private String name;
      private Integer age;
      
      public void setName(String name) {
          this.name = name;
      }
      
      public void setAge(Integer age) {
          this.age = age;
      }
      
      <!--配置创建对象-->
      <bean id="user" class="cn.demo.spring5.domain.User">
          <!--set 注入属性-->
          <property name="name" value="啊狗"></property>
          <property name="age" value="20"></property>
      </bean>
      
      • 创建对象、有参构造方法注入属性
      public User(String name, Integer age) {
              this.name = name;
              this.age = age;
          }
      
      <!--    有参构造注入属性-->
          <bean id="user" class="cn.demo.spring5.domain.User">
              <constructor-arg name="name" value="曹操"></constructor-arg>
              <constructor-arg name="age" value="8000"></constructor-arg>
          </bean>
      
  • 外部 Bean 注入:一个类在另外一个类中使用,作为属性,设置 set 方法,xml 标签中使用 ref 属性引用。
  • Bean 管理:注入引用数据类型,数组、list 集合、Map、Set
    Spring5
    Spring5
    Spring5
  • 工厂Bean(FactoryBean):配置文件中类型和实际返回类型可以不同。创建类实现 FactoryBean 接口,实现接口方法,在 getObject 方法中定义返回类型。
  • Bean作用域:Spring创建对象默认是单例的
    Spring5
    • 设置为多例
      Spring5
    • singleton 和 prototype 区别
      Spring5
  • Bean 生命周期
    Spring5
    Spring5
  • Spring 配置文件引入外部文件(数据库连接参数的 properties 文件)
    • properties 文件
      Spring5
    • context 命名空间
      Spring5
    • 引入外部文件,配置连接池
      Spring5
上一篇:java三大框架之Spring5


下一篇:Spring5----复习笔记4