您现在的位置是:首页 > 正文

浅浅了解一下SSM框架,全网最新

2024-02-29 12:29:46阅读 2

一.SSM框架初体验

作为当下流行的企业开发MVC开源框架,SSM框架是我们Java程序猿必须熟练掌握的知识点,

SSM框架是spring MVC ,spring和mybatis框架的整合.

SSM框架是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层 使用spring MVC负责请求的转发和视图管理, spring实现业务对象管理,mybatis作为数据对象的持久化引擎,接下来我们会主要说一下这三个框架。

MVC,即模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方式来构造代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

ps:框架之所以流行,在于其易复用和简化开发,精髓在思想,掌握了核心思想,我们掌握其他类似框架也不会有问题。_______________________________________________________

二.SpringMVC在框架中的主要任务

1.客户端发送请求到DispacherServlet(分发器)

2.由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller

3.Controller调用业务逻辑处理后,返回ModelAndView

4.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图

5.视图负责将结果显示到客户端

具体历程大体是这样:

_____________________________________________________________________________

三.Spring:

   我们平时开发接触最多的就是IOC容器,这边我们主要浅谈一下用的最多的IOC容器,,它可以装载bean(也就是我们Java中的类),有了这个机制,我们就不用在每次使用这个类的时候为它初始化,很少看到关键字new。

(1) IOC思想与依赖注入

IOCInversion of Control,翻译过来是反转控制

①获取资源的传统方式

就类似于我们自己做饭:买菜、洗菜、择菜、改刀、炒菜,全过程参与,费时费力,必须清楚了解资源创建整个过程 中的全部细节且熟练掌握。

在应用程序中的组件需要获取资源时,传统的方式是组件主动的从容器中获取所需要的资源,在这样的 模式下开发人员往往需要知道在具体容器中特定资源的获取方式,增加了学习成本,同时降低了开发效 率。

②反转控制方式获取资源

快捷的吃饭方式:点外卖:下单、等、吃,省时省力,不必关心资源创建过程的所有细节。

反转控制的思想完全颠覆了应用程序组件获取资源的传统方式:反转了资源的获取方向——改由容器主 动的将资源推送给需要的组件,开发人员不需要知道容器是如何创建资源对象的,只需要提供接收资源 的方式即可,极大的降低了学习成本,提高了开发的效率。这种行为也称为查找的被动形式。

DI

DIDependency Injection,翻译过来是依赖注入

DI IOC 的另一种表述方式:即组件以一些预先定义好的方式(例如:setter 方法)接受来自于容器的资源注入。相对于IOC而言,这种表述更直接。

所以结论是:IOC 就是一种反转控制的思想, 而 DI 是对 IOC 的一种具体实现。

(2)IOC容器在Spring中的实现

Spring IOC 容器就是 IOC 思想的一个落地的产品实现。IOC 容器中管理的组件也叫做 bean。在创建bean 之前,首先需要创建 IOC 容器。Spring 提供了 IOC 容器的两种实现方式:

BeanFactory

这是 IOC 容器的基本实现,是 Spring 内部使用的接口。面向 Spring 本身,不提供给开发人员使用。

ApplicationContext

BeanFactory 的子接口,提供了更多高级特性。面向 Spring 的使用者,几乎所有场合都使用

ApplicationContext 而不是底层的 BeanFactory

___________________________________________________________________________

四.Mybatis:

(1)mybatis是对jdbc的封装,它让数据库底层操作变的透明。

(2)mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。

(3)同时可以让SQL Java 编码分开,功能边界清晰。Java代码专注业务、SQL语句专注数据

 

网站文章

  • angular项目打包发布

    Nginx + Angular结合操作1.下载Nginx, 根据自己的版本下载Nginx,关于Nginx配置,请看https://www.cnblogs.com/MBirds/p/6605366.html2.将angular项目打包,并将生成的dist文件夹发布到服务器上或本地 1 ng build --aot// 编译方式无要求 3.接下...

    2024-02-29 12:29:38
  • npm install 报错 chromedriver 安装失败的解决办法

    npm install 报错 chromedriver 安装失败的解决办法

    【代码】npm install 报错 chromedriver 安装失败的解决办法。

    2024-02-29 12:29:10
  • 分享几个大数据相关岗位的职责和面试问题

    分享几个大数据相关岗位的职责和面试问题

    现在大数据行业如此火爆,国家和企业都需要发展大数据技术,但是人才高度稀缺,企业用人难!而大学生们有出现这样的问题:就业难。有的岗位可能面临着几百个人竞争的情况,今天小编带大家来看看大数据相关岗位的职责和面试问题有哪些489034603根据业务的不同,岗位职责大概分为:1、平台搭建类· 数据计算平台搭建,基础算法实现,当然,要求支持大样本量、高维度数据,所以可能还需要底层开发...

    2024-02-29 12:29:01
  • Java-100天知识进阶-JVM内存-知识铺(三)

    Java-100天知识进阶-JVM内存-知识铺(三)

    知识铺: 致力于打造轻知识点,持续更新每次的知识点较少,阅读不累。不占太多时间,不停的来唤醒你记忆深处的知识点。Java内存模型(JMM)JVM内存模式是JVM的内存分区Java内存模式是一种虚拟机规范1.Jvm内存按照运行时态及内存规范划分Java内存区域2.1 线程安全 2.1.1 程序计数器2.1.2 虚拟机栈2.1.3 本地方法2.2 线程不安全2.2.1 方法区2...

    2024-02-29 12:28:54
  • JS验证用户名密码

    JS验证用户名密码大全。 JS的常用正则表达式 验证密码用户名等JS正则 JS的正则表达式 //校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) return false return true } //校验登录名:只能输入5-20个

    2024-02-29 12:28:23
  • Eclipse报“Some projects cannot be imported because they already exist in the workspace”错误的解决方案

    Eclipse报“Some projects cannot be imported because they already exist in the workspace”错误的解决方案

    “Some projects cannot be imported because they already exist in the workspace” 出现这种问题一般是因为你的工作空间选错了,...

    2024-02-29 12:28:16
  • Java核心技术 卷一 第9章 集合

    目录Java集合框架将集合的接口与实现分离Collection接口迭代器泛型实用方法集合框架中的接口具体的集合链表数组列表散列集数集队列与双端队列优先级队列映射基本映射操作更新映射项映射视图弱散列映射链接散列集与映射枚举集与映射标识散列映射视图与包装器轻量级集合包装器子范围不可修改的视图同...

    2024-02-29 12:28:10
  • ALGORITHMS FOR SOURCE LOCALIZATION

    ALGORITHMS FOR SOURCE LOCALIZATION

    Two approaches for source localization, namely, nonlinear and linear, are presented in Sections 2.3....

    2024-02-29 12:28:05
  • Maven进阶-配置仓库

    Maven进阶-配置仓库

    1.1maven介绍 Maven是一个项目管理和综合工具。Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。主...

    2024-02-29 12:27:37
  • 动态代理初步了解

    动态代理初步了解

    模拟某企业用户管理业务,需包含用户登录,用户删除,用户查询功能,并要统计每个功能的耗时。

    2024-02-29 12:27:28