我们该怎样理解Spring?

一、spring是什么?

Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。而“高内聚,低耦合”的目的是现在项目开发的最主要的前提,所以,我们需要本着这个目的去开发项目,便氤氲而生了框架这个概念,"spring"框架便是这其中的佼佼者。
(1)spring可以帮我的便是管理对象和他们之间的依赖关系
(2)还提供像通用日志记录、性能统计、安全控制、异常处理等面向切面的能力,还能帮我管理最头疼的数据库事务,本身提供了一套简单的JDBC访问实现(JDBCTemplate),提供与第三方数据访问框架集成(如Hibernate、mybatisJPA),与各种Java EE技术整合(如Java Mail、任务调度等等),提供一套自己的web层框架Spring MVC、而且还能非常简单的与第三方web框架集成.
可以说spring就像是一个巨大的粘合剂,除了自身提供的功能以外,还会将我们自己所用的额外的功能全部整合在一起,使得我们有更好,更多的选择去进行代码的开发与优化。

二、Spring能帮我们做什么
(1)传统项目的开发,创建对象以及创建对象之间的关系的权力全部都是由我们程序员自己来控制,它们之间的耦合性会非常的高,这样操作无疑时会给我们在以后进行项目的优化以及更改上面造成巨大的影响,我们需要进行重新对项目进行重写,编译,启动。 spring的特性:***控制反转(IOC)***、***依赖注入(DI)***的出现,将上面的权力全部交给了Spring来进行管理,spring会根据配置文件来进行创建及组装对象间依赖关系,只需要改配置文件即可,无需重新编译。所以,Spring能帮我们根据配置文件创建及组装对象之间的依赖关系。

(2)在我们项目进行的过程中,一定会进行一些类似于重复编写业务逻辑,权限的控制,日志文件的编写等一系列重复并且无聊的代码,这时候,spring的另外一大特性:面向切面编程(AOP)的好处便体现了出来,我们可以将这些重复的业务逻辑单独的抽取出来,在需要这些功能的地方动态添加这些功能,无需渗透到各个需要的方法或对象中,这样的好处在于不需要改变原有的代码逻辑,并且使代码之间的耦合性也大大的降低
(3)传统项目对于数据库事务的操作想必你在学习的过程中还记忆犹幸吧?“获取连接,执行SQL,提交或回滚事务,关闭连接”,而且还要保证在最后一定要关闭连接,多么可怕的事情,而且也很无聊;如果采用Spring,我们只需获取连接,执行SQL,其他的都交给Spring来管理了,简单吧。所以,Spring能非常简单的帮我们管理数据库事务。
(4)Spring还提供了与第三方数据访问框架(如Hibernate、JPA、mybatis等)无缝集成,方便了我们对数据库进行操作。
(5)spring提供了一套后台与前台进行交互的框架,springMVC框架,方便了我们书写前后台的业务。
(6)spring能够和方便的与其他技术相结合(redis)等。

三、 如何学好Spring
要学好Spring,首先要明确Spring是个什么东西,能帮我们做些什么事情,知道了这些然后做个简单的例子,这样就基本知道怎么使用Spring了。Spring核心是IoC容器,所以一定要透彻理解什么是IoC容器,以及如何配置及使用容器,其他所有技术都是基于容器实现的;理解好IoC后,接下来是面向切面编程,首先还是明确概念,基本配置,最后是实现原理,接下来就是数据库事务管理,其实Spring管理事务是通过面向切面编程实现的,所以基础很重要,IoC容器和面向切面编程搞定后,其余都是基于这俩东西的实现,学起来就更加轻松了。要学好Spring不能急,一定要把基础打牢,基础牢固了,这就是磨刀不误砍柴工。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值