前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring框架(一) 为什么要学spring框架,这个框架里面有什么,我们需要学什么

Spring框架(一) 为什么要学spring框架,这个框架里面有什么,我们需要学什么

作者头像
一写代码就开心
发布2021-07-01 10:19:50
5960
发布2021-07-01 10:19:50
举报
文章被收录于专栏:java和python

目录

  • 背景
    • javaee web搭建项目遇到的问题
    • 解决
    • 实现方案
    • 总结
  • jar包介绍
    • jar包的本质:
    • jar包的使用:
    • jar包的特点:
  • 框架的概念和使用
    • 1.框架的概念:
    • 2.框架的本质:
    • 3.框架的具体表现形式:
    • 4.框架的使用:
    • 5.框架的学习:
  • Spring框架的介绍
    • 概念:
    • Spring框架作用:
    • 内容:
  • SpringIOC的介绍和学习
    • 由问题引入SpringIOC
      • 问题:
      • 那么什么时候要实现解耦?
      • 解决:
      • 实现:
      • 作用:
    • SpringIOC的原理

背景

我们已经学会了javaee web搭建一个项目,可以实现操作数据库。javaee web搭建项目的流程是

目前我们实现一个功能的基本流程如下: ①创建一个web项目 ②创建数据库 ③使用jsp技术完成页面的创建 ④使用Servlet+MVC+Mybatis完成功能开发。

javaee web搭建项目遇到的问题

分为10个步骤,发现其中有7个步骤是重复的。比如:数据库操作 使用原生的jdbc来操作数据,查询所有的学生信息和查询所有的班级信息 这两个代码除了Sql语句以及结果遍历不同外,其他的全部相同。也就说 不同功能的代码中出现了相同的代码部分。这样造成,重复的代码需要我们 在不同的功能中,重复编写,极大的影响了开发的效率,怎么办?

解决

不同的功能重复的代码不再重复声明,只声明功能相关的代码即可。 也就说重复的代码我们虽然不写了,但是JDK在执行的时候这部分 重复的代码仍然是存在的,执行的是重复的+自己的。

实现方案

①不同的方法中出现了重复代码–>将重复代码封装为工具方法,然后 在自己的方法中调用工具方法,同时声明自己的代码。

②不同的类中出现了重复的代码—>封装工具类

③不同的项目出现了重复代码—>封装jar包

总结

代码冗余,一个项目里面重复的代码太多了;

jar包介绍

jar包的本质:

其实就是代码的class文件的压缩包,jdk可以直接调用无需解压。

jar包的使用:

将jar包资源放入到项目中后,需要add as library.

jar包的特点:

在项目中引入其他已经完成的代码的同时,保证项目原有代码的结构层次。

框架的概念和使用

1.框架的概念:

不同的项目会使用相同的代码进行开发。而这部分代码如果要进行封装 不是一个类或者一个方法就能搞定的,需要封装出来很多的类文件,于是 为了方便其他人使用,我们再次将这些代码封装为jar包,所以,

框架其实 就是不同的项目都会使用的代码的封装,软件的半成品。

2.框架的本质:

就是别人封装好的功能代码。

3.框架的具体表现形式:

一堆jar包:封装好了都要使用的代码。

4.框架的使用:

①将jar包导入到自己的项目中 ②查阅API文档,调用jar包中的资源完成功能开发 ③配置框架的配置文件(框架代码运行需要的常量数据) 数据和代码的解耦,使用者可以通过配置文件来自定义数据。

5.框架的学习:

就是使用别人的代码完成自己的功能开发。其实就是学习 如何使用别人的代码。想当于javaSE阶段学习常用类。

Spring框架的介绍

概念:

Spring是一个控制反转(IOC)和面向切面的(AOP)的轻量级框架. 使用范围:任何java程序.

Spring框架作用:

①简化企业项目的开发的流程.提升开发效率 ②便于代码的后期维护升级. ③将代码之间的耦合性降低.

内容:

SpringIOC的使用 SpringAOP的使用 SpringTX的使用 注意: Spring是一个框架集,内部集成了很多的功能,可以根据需求 选择对应的子框架使用.

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

SpringIOC的介绍和学习

由问题引入SpringIOC

问题:

在使用MVC的结构体系来完成后台功能代码的声明时,在一定程度上降低了代码的冗余,但是层与层之间的耦合性过高,造成代码升级维护特别麻烦,

比如,某天业务层某个类文件需要替换为新的类文件,那么**,控制层所有调用该业务类的代码需要全部修改为调用新的业务类.**

在项目里面使用spring框架里面的这个jar包。 使用springIOC实现了层与层之间对象的逻辑性的解耦.

那么什么时候要实现解耦?

一般情况下,在MVC代码结构中,会将Servlet和Service之间解耦,Service和mapper之间解耦.

最主要的作用就是实现对象之间的解耦

在之前的时候,我们的servlet里面要调用业务层service里面的代码,如果业务层已经改变,我们还需要在servlet里面进行修改代码,这个就非常的不方便,我们需要的是不改变servlet里面的代码,就可以实现业务的转换。那么这个时候就需要springIOC了。

解决:

将层与层对象之间的关系进行解耦,由直接变为间接.

实现:

SpringIOC.

作用:

实现了层与层之间对象的逻辑性的解耦.

SpringIOC的原理

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

总结:就是用spring框架创建一个容器,里面放对象,以后在任何的地方需要这个对象,都可以从这个spring容器里面拿就可以了。把那些耦合性比较高的对象都放到这个容器里面。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/06/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 背景
    • javaee web搭建项目遇到的问题
      • 解决
        • 实现方案
          • 总结
          • jar包介绍
            • jar包的本质:
              • jar包的使用:
                • jar包的特点:
                • 框架的概念和使用
                  • 1.框架的概念:
                    • 2.框架的本质:
                      • 3.框架的具体表现形式:
                        • 4.框架的使用:
                          • 5.框架的学习:
                          • Spring框架的介绍
                            • 概念:
                              • Spring框架作用:
                                • 内容:
                                • SpringIOC的介绍和学习
                                  • 由问题引入SpringIOC
                                    • 问题:
                                    • 那么什么时候要实现解耦?
                                    • 解决:
                                    • 实现:
                                    • 作用:
                                  • SpringIOC的原理
                                  相关产品与服务
                                  容器服务
                                  腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                                  领券
                                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档