美文网首页
Spring 基础之IoC

Spring 基础之IoC

作者: Tinyspot | 来源:发表于2022-12-25 19:47 被阅读0次

1. Spring 体系结构

framework.png

1.1 核心概念

  • IoC: Inverse of Control 控制反转。对象的创建权力由程序反转给 Spring 构架
  • DI: Dependency Injection 依赖注入。在 Spring 框架负责创建 Bean 对象时,动态的将依赖对象注入到 Bean 组件中
  • AOP: Aspect Oriented Programming 面向切面编程。在不修改目标对象的源代码情况下,增强 IoC 容器中 Bean 的功能
  • Spring 容器,即 Ioc 容器,底层是一个 BeanFactory

1.2 设计原则

  • 高内聚,低耦合

2. IOC

  • IOC 全名控制反转(Inverse of Control),它是一种编程原则(设计思想),它的设计和架构可以实现组件间的解耦,核心思想是将控制权转移出去
  • 控制权的转移:IOC 为了实现解耦,将原有的对象间的主动依赖改为被动接收型依赖( 由 new 对象,改为 set 接口(让用户选择实现,主动权在调用方))

2.1 IOC 与 DI 的区别

  • IOC 是一种思想、编程原则,DI 是 IOC 思想的一种实现方式
  • IOC 的实现方式有依赖查找( Dependency lookup )和依赖注入( Dependency Injection )

2.2 依赖注入

  • 依赖 - bean对象创建依赖容器
  • 注入 - bean对象属性由容器注入

依赖指的是 Bean 实例中的属性
依赖(属性)分为:简单类型(8种基本类型和String 类型)的属性,POJO类型的属性,集合数组类型的属性

2.3 关于 Spring IOC

  • ApplicationContext 和 BeanFactory 是 SpringFramework 中两个核心的 IOC 容器的抽象。BeanFactory 仅仅是提供了一个容器管理的基本能力,ApplicationContext 在此基础上做了更加完善、强大的扩展

3. 命名空间

  • bean
  • context
  • tx
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd"
       default-autowire="byName">

    <import resource="classpath:order-process.xml"/>

    <context:property-placeholder location="classpath:application.yml"/>
</beans>

相关文章

网友评论

      本文标题:Spring 基础之IoC

      本文链接:https://www.haomeiwen.com/subject/yupgqdtx.html