当前位置: 首页 > news >正文

有关Spring的总结

一、概念:

        用于 解决各数据层之间耦合性过高(代码重复问题,),例如在创建对象,每个方法都可能会被实例化,会造成大量的代码重复,引入了Spring框架去解决这个问题,创建对象将由一个类似工厂集体创建,其他数据层只要负责各自的代码实现就行,同时工厂会将对象封装称为bean对象。

二、核心思想

  • 三种核心思想

    • loc思想(控制反转)

      • 将创建对象的权利交给第三方容器即(factory)而不是由对象自己完成。

    • DI(依赖注入)

      • 通过注入的方式实现对象的创建,这是一种对象的创建方式

    • AOP思想(面向切面

      • 是一种编程范式,旨在通过将横切关注点从业务逻辑中分离出来,以提高代码的模块化程度和可维护性。

三、创建步骤 

  • 创建步骤

    • 第一步导入Springjar包

    • 第二步创建配置bean对象的xml文件

    • 第三步编写代码用于测试从Spring容器拿对象的操作

四、 Spring实例化对象的基本流程

 

  • Spring实例化对象的基本流程

    1. 解析bean.xml

    2. 封装成beanDefinition

    3. 存放到BeanDefinitionMap

    4. 遍历得到bean

    5. 存放到sigtonObjects对象

    6. GetBean方法得到bean

五、两种容器(SpringBean和IOC容器)的区别

  • 两种容器(SpringBean和IOC容器)的区别

    • 创建方式

      • IOC容器的创建方式

      • BeanFacory的创建方式

    • 区别

      • 配置文件的加载顺序

        • BeanFacory则是在调用XmlBeanDefinitionReader的loadBeanDefinitions方法加载配置文件,同时通过在对象创建(即getbean方法调用的时候)的时候才会将文件中的存储的对象封装成一个个Bean对象。

    • Spring实例化对象的过程

      • 步骤解析,通过将Bean.xml读取里面解析封装成一个个BeanDifinition对象存放到以key value键值对的形式存入BeanDifinitionMap里面。通过遍历得到一个个Bean对象存放到singletonObjects。最后调用getBean方法得到对象。

六、我们使用spring框架说明IOC特性的步骤 

  • 我们使用spring框架说明IOC特性的步骤

    • .创建Maven项.目

    • .导入spring-context包

    • 配置spring.xml bean标签 id唯一标识 class配置类的路径

    • 创建class类,在里面写个属性和方法

    • 创建容器对象 用该对象获取bean对象

http://www.lryc.cn/news/594928.html

相关文章:

  • 网络编程之 UDP:用户数据报协议详解与实战
  • 19.TaskExecutor与ResourceManager建立连接
  • Openlayers 面试题及答案180道(161-180)
  • 线上问题排查之【CPU飙高100%】
  • 在幸狐RV1106板子上用gcc14.2本地编译安装mysql-8.0.42数据库
  • 一维DP深度解析
  • ElasticSearch是什么
  • 如何使用Ansible一键部署Nacos集群?
  • Android 蓝牙通讯全解析:从基础到实战
  • 【STM32】485接口原理
  • 元图 CAD:PDF 与 CAD 格式互转的完美解决方案
  • 部署 Zabbix 企业级分布式监控
  • WPF 初始界面启动时播放背景音乐
  • 合并pdf工具下载
  • Redis进阶--缓存
  • 如何使用python网络爬虫批量获取公共资源数据
  • 微软CEO Satya Nadella提出AI重构法则:从范式跃迁到社会盈余
  • 本地生活服务 app 同城信息发布系统搭建
  • delphi disqlite3 操作sqlite
  • C# 计算梯形面积和周长的程序(Program to calculate area and perimeter of Trapezium)
  • 在Windows Server 2012 R2中安装与配置IIS服务并部署mssql靶机教程
  • 【世纪龙科技】新能源汽车概论-汽车教学数字课程资源
  • 如何编写假设和约束---SRS软件需求规格指南系列
  • 概率论与数理统计(八)
  • 【跨国数仓迁移最佳实践2】MaxCompute SQL执行引擎对复杂类型处理全面重构,保障客户从BigQuery平滑迁移
  • java和ptyhon对比
  • C# Lambdab表达式 Var 类
  • PyQt5—QInputDialog 学习笔记
  • Iridium Certus 9704 卫星物联网开发套件
  • uniapp app pdf.js报错:Uncaught SyntaxError:Unexpected token ‘{‘