Spring框架 (1) —— 前言、概述、包说明

本文介绍了Spring框架的前言、概述和包说明。Spring是一个轻量级的一站式JavaEE开发框架,通过IoC/DI实现解耦,提高程序的维护性和扩展性。它提供表示层、服务层、持久层的支持,并强调模块的可插拔性,允许开发者选择性使用。Spring主要功能在于整合其他框架,简化企业级应用开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

怎样的架构程序,我们可以认为是一个优秀的架构?
我们一般考虑的标准:可维护性好,可扩展性好,性能。

什么叫可扩展性好?
答:就是可以做到,不断的增加代码,但是可以不修改原来的代码的程序

如何让程序的可维护性好,可扩展性好呢?
业界有一个公认的标准,高内聚,低耦合。

高内聚:就是尽量将代码写在与之功能描述一致的模块中。如User表中的操作写在UserDAO里面就不用写在非UserDAO的类里面。

低耦合:就是尽量减少类与类之间的直接关系。(重点)
直接关系:Web层依赖Service,在Web直接new Service层的类的对象
     Service层依赖Dao层,在Service层直接new Dao层的对象


Spring框架就是通过IoC/DI(控制反转/依赖注入)实现程序的解耦。从而提高程序的维护性和扩展性。

Spring概述

Spring是什么

Spring是一个JavaEE轻量级的一站式开发框架。

JavaEE: 就是用于开发B/S的程序。(企业级)
轻量级:使用最少代码启动框架,然后根据你的需求选择,选择你喜欢的模块使用。
重量级:早期有的EJB,开发一个HelloWorld程序都需要引入EBJ的全部模块
一站式:提供了,表示层(Struts2/SpringMVC),服务层,持久层的所有支持。

Spring框架出现的背景

在世界第一套有Java官方Sun公司推出的企业级开发框架EJB出现后,瞬间风靡全球。被各大公司所应用。

Spring之父,Rod Jonhson是一个音乐博士,在Sun公司的大力推广下,也成为EJB框架的使用者。

在深入研究完EJB框架(由Sun主导开发的一个JavaEE开发框架),无法接收这么一个框架被吹成世界第一,具体查看他吐槽EJB的书《Expert one on one J2EE design and development》

其中突出被他吐槽最厉害的一个点就EJB的重量级,就是只要使用EJB里面任何一个组件。都要将所有EJB的jar导进去。

于是他就提供了一个他的解决方案:轻量级的一站式企业开发框架。

那么什么是轻量级呢?
就是除内核模块(4个jar),其他模块由开发者自由选择使用,同时支持整合其他框架。

也可以称为就是可插拔式开发框架,像插头和插座一样,插上就用。这就是Spring框架核心理念。(Ioc)

那么什么是一站式呢?
就是Spring框架提供涵盖了JavaEE开发的表示层,服务层,持久层的所有组件功能。也就是说,原则上,学完一套Spring框架,不用其他框架就可以完成网站一条流程的开发。

如图:
在这里插入图片描述

Spring框架的作用

根据以上章节的描述。Spring是一个JavaEE一站式的开发框架。它提供的功能涵盖了JavaEE程序中的表示层,服务层,持久层功能组件。这意味着,使用了Spring框架,一个框架就可以满足整个JavaEE程序的开发。

但Spring框架,更加强调的是它的轻量级(模块的可插拔)!!也就是说,除了内核以外模块,如果你不想使用可以不用,它能够整合任何第三方的框架。

所以,在现实开发中,Spring主要用于整合其他框架。

总结

  1. Spring是一个一站式的企业级(JavaEE)开发框架,意味着,仅仅使用一个Spring框架就可以满足JavaEE开发的表示层,服务层,持久层的开发。
  2. Spring强调的理念是,轻量级。意味着Spring提供的功能模块,除了内核模块以外,开发人员可以选择性使用。
  3. 所以,Spring框架在现实开发中,主要的功能用于整合,各种开发来开发项目。

Spring框架包

Spring官方网站
https://spring.io/

框架包的下载

Spring官方提供的Maven方式的项目下载。
https://start.spring.io/

但是基于简单入门的原则,我们要通过导入包的方式来学习。需要下载框架的zip包
路径为:http://repo.springsource.org/libs-release-local/org/springframework/spring/

目录说明

–根目录
在这里插入图片描述
–类库规则
在这里插入图片描述 [ 未找到 ]  [ Loading... ]

包说明

包名说明
spring-aop-4.3.2.RELEASE.jar实现了AOP的支持
spring-aspects-4.3.2.RELEASE.jarAOP框架aspects支持包
spring-beans-4.3.2.RELEASE.jar内核支撑包,实现了处理基于xml对象存取
spring-context-4.3.2.RELEASE.jar内核支撑包,实现了Spring对象容器
spring-context-support-4.3.2.RELEASE.jar容器操作扩展包,扩展了一些常用的容器对象的设置功能
spring-core-4.3.2.RELEASE.jar内核支撑包,Spring的内核
spring-expression-4.3.2.RELEASE.jar内核支撑包,实现了xml对Spring表达式的支持
spring-instrument-4.3.2.RELEASE.jar提供了一些类加载的的工具类
spring-instrument-tomcat-4.3.2.RELEASE.jar提供了一些tomcat类加载的的工具类,实现对应Tomcat服务的调用
spring-jdbc-4.3.2.RELEASE.jarSpringJDBC实现包,一个操作数据库持久层的子框架
spring-jms-4.3.2.RELEASE.jar集成jms的支持,jms:Java消息服务。
spring-messaging-4.3.2.RELEASE.jar集成messaging api和消息协议提供支持
spring-orm-4.3.2.RELEASE.jarORM框架集成包,实现了Hibernate,IBatis,JDO的集成。
spring-oxm-4.3.2.RELEASE.jarSpring OXM对主流O/X Mapping框架做了一个统一的抽象和封装。就是对应XML读写框架的支持
spring-test-4.3.2.RELEASE.jarSpring集成JUnit测试
spring-tx-4.3.2.RELEASE.jar事务代理的支持
spring-web-4.3.2.RELEASE.jarSpringWeb通用模块
spring-webmvc-4.3.2.RELEASE.jarSpringMVC子框架
spring-webmvc-portlet-4.3.2.RELEASE.jarSpring对门户技术(portlet)的支持
spring-websocket-4.3.2.RELEASE.jarSpring对websocket的支持
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值