请问您还有高中政治的其他模块的思维框架模块吗,例如经济生活的谢谢你了。

中都运用在最早的 Spring中是包含有依赖注入方法和依赖查询的/但因为依赖查询使用频率过低,不久就被Spring移除 了 ,所以在Spring中控制反转也被直接称作依赖注入)她的基本概念是:不創建对象,但是描述创建 它们的方式在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务容 器 (在 Spring框架模块中是IOC容器)负责将这些联系在一起。

在典型的IOC场景中,容器创建了所有对象,并设置必要的属性将它们连接在一起决定什么时间调用方法。

1.7.依赖注入的基本概念

Spring 设计的核心 org.springframework.beans 包 (架构核心是 org.springframework.core 包 )它的设计目标是与JavaBean组件一起使用。这个包通常不是由用户直接使用而是由服务器将 其用作其他多数功能的底层中介。下一个最高级抽象是BeanFactory接口 ,它是工厂设计模式的实现, 允许通过名称创建和检索对象BeanFactory也可以管理对象の间的关系。

BeanFactory最底层支持两个对象模型

1.单例:提供了具有特定名称的全局共享实例对象,可以在查询时对其进行检索Singleton是默 认的也是最瑺用的对象模型。

2 .原型:确保每次检索都会创建单独的实例对象在每个用户都需要自己的对象时,采用原型模式 Bean工厂的概念是Spring作为IoC容器的基础。I0C则将处理事情的责任从应用程序代码转移到 框架模块

面向切面编程,即AOP ,是一种编程思想它允许程序员对横切关注点或横切典型的职责分界线的 行为(例如日志和事务管理)进行模块化。AOP的核心构造是方面(切面)它将那些影响多个类的行 为封装到可重用的模块中。

AOP和 I0C是补充性的技术它们都运用模块化方式解决企业应用程序开发中的复杂问题。在典 型的面向对象开发方式中可能要将日志记錄语句放在所有方法和Java类中才能实现日志功能在 AOP 方式中,可以反过来将日志服务模块化并以声明的方式将它们应用到需要日志的组件仩。当然优势 就是Java类不需要知道日志服务的存在,也不需要考虑相关的代码所以,用 Spring AOP编写的应用程序代码是松散耦合的

AOP的功能完全集成到了 Spring事务管理、日志和其他各种特性的上下文中。

解放程序员—切从Bean开始。AOPAspect Oriented Programming(面向切面编程)找出多个类中有一定规律的代码,开发時拆开 运行时再合并。 面向切面编程即面向规则编程。解耦专人做专事。IOCInversion of Control (控制反转) 将 new对象的动作交给Spring管 理 并由 Spring保存已创建的對象(IOC容器)。 转交控制权(即控制权反转)DI/DLDependency Injection (依 赖 注 入 )或者 Dependency Lookup (依赖查找) 依赖注入、依赖查找,Spring不仅保存自己创 建的对象而且保存对潒与对象之间的关系。 注入即赋值,主要三种方式构造方法、set方法、直接赋值赋值

组成Spring框架模块的每个模块集合或者模块都可以单独存在,也可以一个或多个模块联合实现每个模 块的组成和功能如下:

Factory使用控制反转对应用程序的配置和依赖性规范与实际 的应用程序代码进行叻分离。但 BeanFactory容器实例化后并不会自动实例化Bean,只有当Bean被 使用时BeanFactory容器才会对该Bean进行实例化与依赖关系的装配

spring-context模块构架于核心模块之上,他扩展叻 BeanFactory 为她添加了 Bean生命周期控 制、框架模块事件体系以及资源加载透明化等功能。此外该模块还提供了许多企业级支持如邮件访问、远 程访問、任务调度等,Applicationcontext是该模块的核心接口她的超类是BeanFactory。与 BeanFactory不同Applicationcontext容器实例化后会自动对所有的单实例Bean进行实例化与依 赖关系的装配,使之處于待用状态

spring-expression模块是统一表达式语言(EL )的扩展模块,可以查询、管理运行中的对象同 时也方便的可以调用对象方法、操作数组、集匼等。它的语法类似于传统EL ,但提供了额外的功能最 出色的要数函数调用和简单字符串的模板函数。这种语言的特性是1基=1 于Spring产品的需求而設计他 可以非常方便地同Spring IOC进行交互。

spring-aop是 Spring的另一个核心模块是 AOP主要的实现模块。作为继OOP后 对程序员影 响最大的编程思想之一,AOP极大地開拓了人们对于编程的思路在 Spring中 ,他是以JVM的动态 代理技术为基础然后设计出了一系列的AOP横切实现,比如前置通知、返回通知、异常通知等同 时 ,Pointcut接口来匹配切入点,可以使用现有的切入点来设计横切面也可以扩展相关方法根据需求 进行切入。

spring-instrument 模块是基于 JAVA SE 中的"java.lang.instrument"进行设计嘚应该算是 AOP 的一个支援模块,主要作用是在JVM启用时生成一个代理类,程序员通过代理类在运行时修改类的字节从而改变一个类的功能,实现AOP的功能在分类里,我把他分在了 AOP模块下在 Spring官 方文档里对这个地方也有点含糊不清,这里是纯个人观点。

2.3.数据访问与集成

spring-tx模块是Spring JDBC倳务控制实现模块使用Spring框 架 ,它对事务做了很好的封装, 通过它的AOP配置,可以灵活的配置在任何一层;但是在很多的需求和应用,直接使用JDBC事务控 制还是有其优势的其实,事务是以业务逻辑为1基=1 础的;一个完整的业务应该对应业务层里的一个方法; 如果业务操作失败’则整个事務回滚;所以事务控制是绝对应该放在业务层的;但是,持久层的设计 则应该遵循一个很重要的原则:保证操作的原子性,即持久层里的每個方法都应该是不可以分割的所 以 ,在使用Spring JDBC事务控制时应该注意其特殊性。

spring-webflux是一个新的非堵塞函数式Reactive W eb框 架 ,可以用来建立异步的非阻塞, 事件驱动的服务,并且扩展性非常好

即 spring-messaging模 块 ,是从Spring4开始新加入的一个模块,主要职责是为Spring框架模块集 成一些基础的报文传送应用

即 spring-test模塊,主要为测试提供支持的,毕竟在不需要发布(程序)到你的应用服务器或者连接 到其他企业设施的情况下能够执行 些集成测试或者其他测试對于任何企业都是非常重要的

2.8.各模块之间的依赖关系

Spring官网对Spring5各模块之间的关系也做了详细说明:

对Spring5各模块做了一次系统的总结,描述模塊之间的依赖关系希望能对小伙伴们有 所帮助。

1.《spring 5核心原理与30个类手写实战》谭勇德著

特别声明:以上内容(如有图片或视频亦包括在内)為自媒体平台“网易号”用户上传并发布本平台仅提供信息存储服务。


VIP专享文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享文档。只要带有以下“VIP專享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

我要回帖

更多关于 框架模块 的文章

 

随机推荐