SSH框架过时了吗?那就最后分享一份阿里架构师整合的SSH框架实战心得吧!

news2025/1/13 13:18:07

记得当年 java 的企业级框架还是 ssh 的天下(spring,struts和hibernate),但是现在感觉 spring 已经完全把那两个框架甩在后边了。用 spring 的人越来越多,用 struts 的人比原来少多了,用 hibernate 的就更少了。毕竟现在 it 人才流动性太大了,招人上来上手很重要,谁知道他什么时候就跑了。。( hibernate 太复杂了)。

ssh 是什么

struts2:通俗的讲就是为了完成 MVC 模型中的 C 的功能,也就是编写具体的业务逻辑的地方
从他的设计上来看就是请求到了 web 容器,然后经过了一系列的过滤器,再通过请求 FilterDispatcher 询问ActionMapper 是否需要调用某个 Action,如果要调用的话, 然后执行先前配置好的拦截器,就到了我们的具体逻辑,执行完之后,还会继续执行对应的拦截器和过滤器逻辑,最后返回给调用方。

Spring: 通俗的讲只是通过它的核心 IOC 来管理我们编写逻辑中间的一些 bean。我们通过 IOC 来减少耦合和简化对象的操作。

Hibernate: 是对象关系映射框架,简单的说,它就是对 JDBC 进行了非常轻量级的对象封装,目的是让操作数据库像操作对象一样简单。

这个就是 ssh 三者最开始的目的,他们各司其职,在缺乏框架的年代,很好的配合着,以至于一直流传了下来。

为什么说已经过时

现在提倡和流行的是前后端分离(这里指的分离是完全分离,而不是之前通过模版进行分离,前后端数据交互是根据 http api 进行的)。
后端设计的接口趋向于 Restful 的架构。为什么有这种变化,因为现在前端不仅仅是 web 端,在移动互联网时代 app 也是很大一部分。所以从后端的角度来看,他们都是客户端。
app 是没办法通过模版进行渲染的,只能通过 http 传输数据。这也是后端服务发展的趋势。
Spring+Struts+Hibernate 是越来越少了
Spring(or spring boot)+SpringMVC+Mybatis 的更多

虽然很多人都说过时了,但好像也有一些公司还在使用。今天就分享一份阿里架构师整合的SSH框架实战心得(教程)**

目录

  • 第1章Struts2框架入门
  • 第2章Struts2 的核心配置

  • 第3章Struts2的拦截器
  • 第4章Struts2的标签库

  • 第5章OGNL 表达式和值栈
  • 第6章Struts2 的文件上传和下载
  • 第7章初识Hibernate

  • 第8章持久化对象状态和一级缓存
  • 第9章Hibernate的关联关系映射
  • 第10章Hibernate的检索方式

  • 第11章Hibernate的事务处理和二级缓存
  • 第12章Spring 的基本应用

  • 第13章Spring 中的Bean
  • 第14章面向切面编程(Spring AOP)

  • 第15章Spring 的数据库开发
  • 第16章Spring 事务管理
  • 第17章SSH框架整合

其中每一章节都是有内容详解:

Java 后端技术有很多,如果想要提高,最好的捷径就是踏踏实实的进行学习,对于刚工作不久的人来说,可以把学习 ssh框架的时间用来学习 SpringMVC,然后掌握 Spring 的核心,然后学习什么是 Restful 概念,最后可以了解 JDBC 的一些概念(前期不推荐学习 ORM 框架)。我相信可以有所收获和成长的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/19412.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BI-SQL丨SNAPSHOT

快照(SNAPSHOT) 我们在做BI项目的过程,一旦数据涉及到数据库,那么需要考量到的点就比较多。 1.如果数仓是在项目过程中搭建的,那么需要考虑高可用、灾备机制以及安全性问题; 2.如果我们只是需要连接数据库…

Vue3留言墙项目——头部和底部静态页面搭建

文章目录创建项目头部底部创建项目 Vue中使用scss 头部 头部当中有两个按钮&#xff0c;然后根据设计稿可知&#xff0c;本留言墙中有4个按钮&#xff0c;所以可以自己封装一个按钮组件 按钮组件的博客 components/TopNav.vue <template><div class"topNav…

Vue封装一个按钮组件(不使用框架)

做留言墙项目&#xff0c;根据设计稿&#xff0c;发现有四种按钮&#xff0c;这里不使用框架&#xff0c;自己写一个按钮组件 在components下新建MyButton/MyButton.vue <template><button :class"my-btn btn-${type}"><slot></slot></b…

PLC学习笔记(一):概述

如今&#xff0c;电气装置的控制愈发复杂&#xff0c;仅仅依靠低压电器构建逻辑控制电路显得捉襟见肘&#xff0c;而将逻辑控制电路软件化是在满足控制需求前提下降低成本、提高可靠性的重要途经。 那么&#xff0c;我们是选择单片机还是PLC呢&#xff1f;若选择使用单片机&…

嵌入式开发学习之--初识stm32函数库

提示&#xff1a;本篇文章主要以了解为主。 文章目录前言一、库目录及文件简介二、常用资料总结前言 上一篇说到&#xff0c;其实我们不必去直接操作寄存器&#xff0c;也不必自己去写库函数&#xff0c;stm32官方函数库已经满足我们绝大部分的需求了&#xff0c;这一篇文章&a…

逻辑漏洞挖掘

逻辑漏洞# 逻辑漏洞是指由于程序逻辑输入管控不严或者逻辑太复杂&#xff0c;导致程序不能够正常处理或处理错误&#xff0c;逻辑漏洞根据功能需求的不同产生的漏洞方式也不同。一般出现在网站程序的登录注册、密码找回、验证方式、信息查看、交易支付金额等地方。 这类漏洞不…

【第十五章 java反射机制,获取Class类的实例,创建运行时类的对象,调用运行时类中指定的结构】

第十五章 java反射机制&#xff0c;获取Class类的实例&#xff0c;创建运行时类的对象&#xff0c;调用运行时类中指定的结构 1.java反射机制概述 加载完类之后&#xff0c;在堆内存的方法区中就产生了一个Class类型的对象&#xff08;一个类只有一个Class对象&#xff09;&am…

[计算机毕业设计]改进粒子群算法的监测资源调度

前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过…

【学海】中位数(Median)的介绍以及如何在不同条件下计算中位数

一、什么是中位数 中位数是指将数据按大小顺序排列起来&#xff0c;形成一个数列&#xff0c;居于数列中间位置的那个数据。中位数用Me表示。 从中位数的定义可知&#xff0c;所研究的数据中有一半小于中位数&#xff0c;一半大于中位数。中位数的作用与算术平均数相近&#…

CAD DWG 比较--DWG Compare ActiveX Control

DWG Compare ActiveX Control AutoDWG DWG 比较 ActiveX 控件&#xff0c;比以往更快&#xff01; DWGCompareX 是一个主动控件 (COM)&#xff0c;可帮助您找出 AutoCAD 图形版本之间的差异并以图形方式显示它们。 主要特征&#xff1a; 显示视图中的差异&#xff0c;对添加的实…

LeetCode-剑指51-数组中的逆序对

1、归并排序 我们可以利用归并排序在合并两个数组时会比较两个数组中的值来确定有多少逆序对。我们用左指针指向左边的数组&#xff0c;右指针指向右边的数组。每当左指针右移时&#xff0c;我们在总数上加上右指针指向位置与起始位置的差值即可。 class Solution { public:i…

基于stm32单片机自动灭火火灾报警装置Proteus仿真

资料编号&#xff1a;102 下面是相关功能视频演示&#xff1a; 102-基于stm32单片机自动灭火火灾报警装置Proteus仿真&#xff08;仿真源码全套资料&#xff09;功能介绍&#xff1a; 火焰传感器的原理&#xff1a;是通过感知外部特殊波段光照强度的突变来判断是否出现火灾&a…

[附源码]java毕业设计汽车租赁管理系统论文

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

C++11 原子变量

目录 什么时原子变量&#xff1f; atomic 类成员 原子变量的使用 C/CLinux服务器开发/后台架构师【零声教育】-学习视频教程-腾讯课堂 什么时原子变量&#xff1f; 原子操作 原子指的是一系列不被 CPU上下文交换的机器指令&#xff0c;这些指令组合在一起就形成了原子操作。…

Design A Twitter Search

title: Notes of System Design No.08 — Design a Twitter Search description: ‘Design a Twitter Search’ date: 2022-05-13 18:01:58 tags: 系统设计 categories: 系统设计 00. What is Twitter Search? 01.Functional Requirement 02. Non-Functional Requirement 03…

【JavaSE】阶段性小结,运用Java实现图书管理系统

文章目录逻辑分析主题框架具体方法添加书籍删除书籍查找书籍借阅书籍归还书籍展示书籍退出系统源码UserNormalUserAdmintUserBookBookListIOperationAddboookOperationDeletbookOperationFindbookOperationShowbookOperationBorrowbookOperationReturnbookOperationExitOperati…

[计算机毕业设计]关联挖掘的服装推荐系统

前言 &#x1f4c5;大四是整个大学期间最忙碌的时光,一边要忙着准备考研,考公,考教资或者实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过…

OS>>多线程

文章目录绪论SIGCHLDvolatile概念执行流并行与并发临界资源与临界区互斥和同步线程线程定义线程独立性线程优点线程缺点线程ID线程操作线程创建线程等待线程终止线程分离线程替换线程互斥与同步互斥同步原子性互斥锁/互斥量原理使用抢票情景模拟未加锁前加锁后代码锁使用规范重…

【毕业设计】14-基于单片机的健康检测仪/心跳/温度/血压设计(原理图+源码+仿真工程+论文)

【毕业设计】14-基于单片机的健康检测仪/心跳/温度/血压设计&#xff08;原理图源码仿真工程论文&#xff09; 文章目录【毕业设计】14-基于单片机的健康检测仪/心跳/温度/血压设计&#xff08;原理图源码仿真工程论文&#xff09;资料下载链接任务书设计说明书摘要设计框架架构…

Android BLE HIDS Data ,从问询DB 到写入Android 节点的flow 之五

问题点 7&#xff1a; 关于BLE HIDS data 写入到Android 节点"/dev/uhid"的flow&#xff1b; 关于BLE中的HIDS&#xff0c;首先我们需要理解好角色的定义&#xff1a; GATT Server 作为HID Service 提供者&#xff0c;对应HID Device角色&#xff1b; GATT Client…