Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器
Spring是Java EE编程领域的一个轻量级开源框架,该框架由一个叫Rod Johnson的程序员在 2002 年最早提出并随后创建,是为了解决企业级编程开发中的复杂性,实现敏捷开发的应用型框架 。
下面几个简单的问题来测试一你对Spring的理解程度,问题不多只针对Spring框架,让我们开始:
一、不同版本的 Spring 构架有哪些主要功能?
Spring 2.5 发布于 2007 年。这是第一个支持注解的版本。
Spring 3.0 发布于 2009 年。它完全利用了 Java5 中的改进,并为 JEE6 提供了支持。
Spring 4.0 发布于 2013 年。这是第一个完全支持 JAVA8 的版本。
二、什么是 Spring 构架?
-
Spring 是一个开源应用框架,旨在降低应用程序开发的复杂度。
-
它是轻量级、松散耦合的。
-
它具有分层体系结构,允许用户选择组件,同时还为 J2EE 应用程序开发提供了一个有凝聚力的框架。
-
它可以集成其他框架,如 Structs、Hibernate、EJB 等,所以又称为框架的框架。
三、列举 Spring 构架的优点。
-
由于 Spring Frameworks 的分层架构,用户可以自由选择自己需要的组件。
-
Spring Framework 支持 POJO(Plain Old Java Object) 编程,从而具备持续集成和可测试性。
-
由于依赖注入和控制反转,JDBC 得以简化。
-
它是开源免费的。
四、Spring 构架有哪些不同的功能?
-
轻量级 - Spring 在代码量和透明度方面都很轻便。
-
IOC - 控制反转
-
AOP - 面向切面编程可以将应用业务逻辑和系统服务分离,以实现高内聚。
-
容器 - Spring 负责创建和管理对象(Bean)的生命周期和配置。
-
MVC - 对 web 应用提供了高度可配置性,其他框架的集成也十分方便。
-
事务管理 - 提供了用于事务管理的通用抽象层。Spring 的事务支持也可用于容器较少的环境。
-
JDBC 异常 - Spring 的 JDBC 抽象层提供了一个异常层次结构,简化了错误处理策略。
五、Spring 构架中有多少个模块,它们分别是什么?
-
Spring 核心容器 – 该层基本上是 Spring 构架的核心。它包含以下模块:
-
Spring Core
-
Spring Bean
-
SpEL (Spring Expression Language)
-
Spring Context
-
-
数据访问/集成 – 该层提供与数据库交互的支持。它包含以下模块:
-
JDBC (Java DataBase Connectivity)
-
ORM (Object Relational Mapping)
-
OXM (Object XML Mappers)
-
JMS (Java Messaging Service)
-
Transaction
-
-
Web – 该层提供了创建 Web 应用程序的支持。它包含以下模块:
-
Web
-
Web – Servlet
-
Web – Socket
-
Web – Portlet
-
-
AOP – 该层支持面向切面编程
-
Instrumentation – 该层为类检测和类加载器实现提供支持。
-
Test – 该层为使用 JUnit 和 TestNG 进行测试提供支持。
-
几个杂项模块:
-
Messaging – 该模块为 STOMP 提供支持。它还支持注解编程模型,该模型用于从 WebSocket 客户端路由和处理 STOMP 消息。
-
Aspects – 该模块为与 AspectJ 的集成提供支持。
-
六、什么是 Spring 配置文件?
Spring 配置文件是 XML 文件。该文件主要包含类信息。它描述了这些类是如何配置以及相互引入的。但是,XML 配置文件冗长且更加干净。如果没有正确规划和编写,那么在大项目中管理变得非常困难。
七、Spring 应用程序有哪些不同组件?
Spring 应用一般有以下组件:
-
接口 - 定义功能。
-
Bean 类 - 它包含属性,setter 和 getter 方法,函数等。
-
Spring 面向切面编程(AOP) - 提供面向切面编程的功能。
-
Bean 配置文件 - 包含类的信息以及如何配置它们。
-
用户程序 - 它使用接口。
八、使用 Spring 有哪些方式?
使用 Spring 有以下方式:
-
作为一个成熟的 Spring Web 应用程序。
-
作为第三方 Web 框架,使用 Spring Frameworks 中间层。
-
用于远程使用。
-
作为企业级 Java Bean,它可以包装现有的 POJO(Plain Old Java Objects)。
学习过Spring的伙伴想必这些问题还是比较简单的,没有学习过Spring的伙伴可以观看下面推荐学习链接,来学习一下:
1.北京尚学堂高淇Java300集(强烈推荐) Java300集零基础适合初学者视频教程_Java300集零基础教程_Java初学入门视频基础巩固教程_Java语言入门到精通_哔哩哔哩_bilibili
2.Java实战教学Spring精选教程小白入门到精通 Java实战教学Spring精选教程小白入门到精通_Spring框架项目开发实战_Java教程/Java框架/Spring框架/IOC学习/AOP原理_哔哩哔哩_bilibili
3.JavaEE编程SpringMVC框架实战教程 JavaEE编程SpringMVC框架实战教程_SpringMVC从入门到精通/SpringMVC框架讲解/SpringMVC框架/SpringMVC_哔哩哔哩_bilibili
4.JavaEE企业级SpringBoot实战精品教程 JavaEE企业级SpringBoot实战精品教程_SpringBoot分布式框架精品讲堂/SpringBoot教程/SpringBoot全套学习教程_哔哩哔哩_bilibili
5.JavaEE企业级SpringData实战精品教程 JavaEE企业级SpringData实战精品教程_SpringData整合JPA开发_SpringData数据库访问/SpringData系统级教程_哔哩哔哩_bilibili
6.JavaEE企业级SpringCloud微服务实战教程 JavaEE企业级SpringCloud微服务实战教程_SpringCloud微服务架构入门到精通/SpringCloud微服务/Java微服务学习_哔哩哔哩_bilibili