目录:
- 第一题 Spring框架的设计目标,设计理念,和核心是什么?
- 第二题. Spring由哪些模块组成?
- 第三题. 详细讲解一下核心容器(spring context应用上下文) 模块
- 第四题.Spring框架中有哪些不同类型的事件
- 第五题. Spring 应用程序有哪些不同组件?
第一题 Spring框架的设计目标,设计理念,和核心是什么?
Spring设计目标:Spring为开发者提供一个一站式轻量级应用开发平台;
Spring设计理念:在JavaEE开发中,支持POJO和JavaBean开发方式,使应用
面向接口开发,充分支持OO(面向对象)设计方法;Spring通过IoC容器实现
对象耦合关系的管理,并实现依赖反转,将对象之间的依赖关系交给IoC容器,
实现解耦;
Spring框架的核心:IoC容器和AOP模块。通过IoC容器管理POJO对象以及他
们之间的耦合关系;通过AOP以动态非侵入的方式增强服务。
IoC让相互协作的组件保持松散的耦合,而AOP编程允许你把遍布于应用各层的
功能分离出来形成可重用的功能组件
第二题. Spring由哪些模块组成?
Spring 总共大约有 20 个模块, 由 1300 多个不同的文件构成。 而这些组件被
分别整合在核心容器(Core Container)
、 AOP(Aspect Oriented Programming)
和设备支持(Instrmentation)
、数据访问与集成(Data Access/Integeration)
、
Web
、 消息(Messaging)
、 Test等 6 个模块中。 以下是 Spring 5 的模块结构
图:
- spring core:提供了框架的基本组成部分,包括控制反转(Inversion ofControl,IOC)和依赖注入(Dependency Injection,DI)功能。
- spring beans:提供了BeanFactory,是工厂模式的一个经典实现,Spring将管理对象称为Bean。spring context:构建于 core 封装包基础上的 context 封装包,提供了一种框架式的对象访问方法。
- spring jdbc:提供了一个JDBC的抽象层,消除了烦琐的JDBC编码和数据库厂商特有的错误代码解析, 用于简化JDBC。
- spring aop:提供了面向切面的编程实现,让你可以自定义拦截器、切点等。
- spring Web:提供了针对 Web 开发的集成特性,例如文件上传,利用 servletlisteners 进行 ioc 容器初始化和针对 Web 的 ApplicationContext
- spring test:主要为测试提供支持的,支持使用JUnit或TestNG对Spring组件进行单元测试和集成测试。
第三题. 详细讲解一下核心容器(spring context应用上下文) 模块
这是基本的Spring模块,提供spring 框架的基础功能,BeanFactory 是 任何以
spring为基础的应用的核心。Spring 框架建立在此模块之上,它使Spring成为
一个容器。
Bean 工厂是工厂模式的一个实现,提供了控制反转功能,用来把应用的配置和
依赖从真正的应用代码中分离。最常用的就是
org.springframework.beans.factory.xml.XmlBeanFactory ,它根据XML文件
中的定义加载beans。该容器从XML 文件读取配置元数据并用它去创建一个完
全配置的系统或应用。
第四题.Spring框架中有哪些不同类型的事件
Spring 提供了以下5种标准的事件:
- 上下文更新事件(ContextRefreshedEvent):在调用ConfigurableApplicationContext 接口中的refresh()方法时被触发。
- 上下文开始事件(ContextStartedEvent):当容器调用ConfigurableApplicationContext的Start()方法开始/重新开始容器时触发该事件。
- 上下文停止事件(ContextStoppedEvent):当容器调用ConfigurableApplicationContext的Stop()方法停止容器时触发该事件。
- 上下文关闭事件(ContextClosedEvent):当ApplicationContext被关闭时触发该事件。容器被关闭时,其管理的所有单例Bean都被销毁。
- 请求处理事件(RequestHandledEvent):在Web应用中,当一个http请求(request)结束触发该事件。如果一个bean实现了ApplicationListener接口,当一个ApplicationEvent 被发布以后,bean会自动被通知。
第五题. Spring 应用程序有哪些不同组件?
Spring 应用一般有以下组件:
- 接口 - 定义功能。
- Bean 类 - 它包含属性,setter 和 getter 方法,函数等。
- Bean 配置文件 - 包含类的信息以及如何配置它们。
- Spring 面向切面编程(AOP) - 提供面向切面编程的功能。
- 用户程序 - 它使用接口。
如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力