IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 【spring】 -> 正文阅读

[Java知识库]【spring】

一、spring概述

1、开发理念

spring框架是基于POJO(简单Java对象)的轻量级开发理念。

2、本质

提供各种服务,以帮助我们简化基于POJI的Java程序开发。

3、spring框架是一个分层架构,由多个服务(模块)组成。

  1. CORE核心模块
  2. AOP模块
  3. 提供了数据访问和事务管理服务,并且对其他框架提供了集成支持。(MyBatis)
  4. WEB服务模块,spring提供了自己的一套框架spring mvc,并且对其他web框架提供了集成支持。

二、Core核心模块

整个Spring框架构建在Core核心模块之上,它是整个框架的基础。在该模块中, Spring为我们提供 了一个IoC容器实现,用于帮助我们以依赖注入的方式管理对象之间的依赖关系。
IoC容器就是控制反转(inversion of control),别名是依赖注入。

2.1、ioc所有别名

  • ioc
  • 控制反转
  • 依赖注入
  • Inversion Of Controll

2.2、IoC模式是什么

实现一种功能的类需要用到什么依赖对象,主动去获取。代码体现在直接在功能类的构造函数中新建依赖对象。
FXMewsProvider是功能类,实现从报纸上获取信息,然后存储到数据库中。
IFXNewsListener是依赖类(接口),实现从报纸上获取信息
IFXMewsPersister是依赖类(接口),实现把获取的内容存到数据库

2.2.1、被注入对象主动获取依赖对象

/**
 * 1、获取内容
 * 2、将内容存到数据库
 */
public class FXMewsProvider{

     //依赖对象,抓取新闻的接口
    private IFXNewsListener newsListener;

    //依赖对象,存储新闻的接口
    private IFXMewsPersister mewsPersister;

    /**
     * FXMewsProvider功能依赖于IFXNewsListener和IFXMewsPersister
     * 在构造方法中新建相应的依赖类对象
     */
    public FXMewsProvider() {
        this.newsListener = new DowJonesNewsListener();//DowJonesNewsListener是IFXNewsListener接口的实现类
        this.mewsPersister =new DowJonesNewsPersister();//DowJonesNewsPersister是IFXMewsPersister接口的实现类
    }
}

IoC模式它的控制反转,反转的就是让你从以前的事必躬亲,转变为现在的享受服务。用什么,别人送过来就行。IoC的理念就是让别人为你服务。

2.2.2、被注入对象控制反转

在这里插入图片描述

被注入对象需要什么,直接跟IoC Service Provider招呼一声,后者就会把相应的被依赖对象注入到被注入对象中,从而达到IoC Service Provider为被注入对象服务的目的。 IoC Service Provider在这里就是通常的IoC容器所充
当的角色。从被注入对象的角度看,与之前直接寻求依赖对象相比,依赖对象的取得方式发生了反转,
控制也从被注入对象转到了IoC Service Provider那里。
其实IoC就这么简单!原来是需要什么东西自己去拿,现在是需要什么东西就让别人送过来。

2.3、依赖注入的方式

  1. 构造方法
  2. get/set方法
  3. 接口

2.4、比较主动获取依赖对象和控制反转

/**
 *
 *  * 1、获取内容
 *  * 2、将内容存到数据库
 *
 *  依赖注入方式为  被注入对象通过构造方法注入被依赖对象
 *
 */
public class FXNewsProviderIOC {

    //依赖对象,抓取新闻的接口
    private IFXNewsListener newsListener;

    //依赖对象,存储新闻的接口
    private IFXNewsPersister mewsPersister;


    //注入被依赖对象
    public FXNewsProviderIOC(IFXNewsListener newsListener, IFXNewsPersister mewsPersister) {
        this.newsListener = newsListener;
        this.mewsPersister = mewsPersister;
    }
}

创建功能类对象时,只要传入不同的对象参数(获取和存储不同种类的报纸信息),就可以重复利用功能类。

被注入对象主动获取依赖类
在这里插入图片描述
被注入对象控制反转
在这里插入图片描述

三、IoC Server Provider

Ioc Server Provider是抽象出来的概念,指代实现控制反转(业务对象实现绑定到一起的实现方式)。可以是一段代码。
Spring IoC容器就是提供依赖注入服务的IoC Server Provider。

3.1、IoC Server Provider把被注入对象被依赖对象注册到Spring IoC容器中

3.2、如何明确被注入对象被依赖对象相互之间的依赖注入关系。

  • 这句话的意思是,如何知道被注入对象想要哪个被依赖对象。
  • 去酒吧,我跟服务员说我想要汾酒,服务员如何知道哪个是汾酒?
  • 被注入对象提供依赖注入的IoC Service Provider来说,它也同样需要知道自己所管理和掌握的被注入对象和依赖对象之间的对应关系。

编码方式管理对象间的依赖注入关系

配置文件管理对象间的依赖注入关系

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 11:45:25  更:2022-01-28 11:46:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:53:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码