谈谈Spring开发框架

Spring简介

Spring的主要作用是为代码 “解耦”,降低代码的耦合度。
根据功能不同:可以将一个系统中的代码分为:主业务逻辑系统级业务逻辑两类

你是如何理解Spring的?

Spring是为了解决企业级复杂度(耦合度)的开发问题。

怎么解决耦合度问题呢?

在系统开发中分为:主业务逻辑系统级业务逻辑(交叉级业务逻辑),两类

  • 主业务逻辑:如电商业务、物流业务等
  • 系统级业务逻辑:如JDBC 连接数据库等
    JDBC 连接数据库操作流程:
    1、加载驱动
    2、创建连接
    3、开启事务
    4、CRUD操作 (具体业务)
    5、提交事务
    6、事务回滚(出问题时)
    7、释放连接

总结结语: 不管是电商业务、物流业务都要操作数据库(共同点)这种业务逻辑就是系统级业务逻辑,而根据我们面向对象三大特性:封装、继承、多态。我们需要提取他的共同的属性或者行为,然而连接数据库,操作JDBC都是电商业务、物流业务共同的行为,所以我们在开发中都要操作这个共同点。
然而我们在开发的过程中,我们的思维惯性,我们可能在想业务,写得很好,也很爽,可是技术卡住了(比如数据库怎么提交不了啊),等你解决的技术,再回来写业务,你就会一脸懵,耦合度造成的问题就体现了,所以这部分的(系统级业务)业务应该被提取出来,怎么提取出来呢?Spring的出现就是为了解决这个问题,解耦。将企业级的主业务与交叉级业务分离开来处理。

Spring怎么做到解耦的呢?

Spring将降低耦合度分为两类:IoC(控制反转) 和AOP(面向切面)

IoC: 使得业务在调用过程中,不用再自己维护关系了,即不用再自己创建要使用的对象了,而是由Spring统一管理,自动注入。
比如有一个接口 new他实现的时候 UserService userService = new UserServiceImpl();我要操作他的实现的时候,是不是得自己把它new出来,也就是我们在主动实例化。然而IoC控制反转创建这个new UserServiceImpl();实例的过程不再由我主动去创建,而是交给S容器去创建,控制权是不是在Spring手上,这就是控制反转,比如还有一个列子,计算机上面不是有插槽嘛,你是不是可以插内存,插硬盘,插CPU各种扩展。

AOP: 使得系统级服务得到了最大的复用,而不用再由程序员手工将系统级服务"混杂"到主业务逻辑中,而是由Spring容器统一完成"织入"。

简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DT辰白

你的鼓励是我创作的源泉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值