一、如果看传统企业开发
Struts、Spring和Hibernate ,简称SSH。
在10多年前,SSH绝对是业内最流行的企业级开发框架。
SSH框架是以Struts框架进行MVC分离、控制业务跳转,同时使用Hibernate进行持久化,最后配合Spring的统一管理进行实现的开发框架。相对于传统的J2EE开发框架来讲性能相对较高、资源消耗相对较少。具体优势如下:
- 框架进行了代码分层,将Java代码和HTML代码进行分层,大大降低了开发人员的技术难度,不需要同时精通Java后端知识和Web前端知识。
- 由于使用了Struts框架进行了MVC分离,降低了各层代码间的耦合度。
- 与Spring的AOP机制相互独立,互不影响。
- 使用SSH框架开发项目,能够大大提高项目的开发效率与开发质量。
- 良好的扩展性和维护性。
由于Hibernate比较重,所以SSH框架后来被替换成SSM。M是Mybatis,现在SSM框架还在用。
二、现在的 Web 项目开发,大部分都转向了 SpringBoot 了。使用 SpringBoot 有三个最大的好处:
- 配置非常少,可以说是即插即用
- 基于 Spring 构建,入手门槛非常低
- 直接运行,不需要再考虑 Web 容器的问题
SpringBoot 大部分人都很熟了,不再赘述了。
kkFileView,一款成熟且开源的文件文档在线预览项目解决方案,对标业内付费产品有【永中office】【office365】【idocv】等,免费!也就是说通过 kkFileView,基本上可以在浏览器中预览常见的各种文件。
项目特性
- 支持 office, pdf, cad 等办公文档
- 支持 txt, xml(渲染), md(渲染), java, php, py, js, css 等所有纯文本
- 支持 zip, rar, jar, tar, gzip 等压缩包
- 支持 jpg, jpeg, png, gif, tif, tiff 等图片预览(翻转,缩放,镜像)
- 使用 spring-boot 开发,预览服务搭建部署非常简便
- rest 接口提供服务,跨语言、跨平台特性(java,php,python,go,php,….)都支持,应用接入简单方便
- 抽象预览服务接口,方便二次开发,非常方便添加其他类型文件预览支持
- 最最重要 Apache 协议开源,代码 pull 下来想干嘛就干嘛
2.2 再推荐一个Java接口快速开发框架-magic-api
magic-api 是一个基于 Java 的接口快速开发框架,编写接口将通过 magic-api 提供的 UI 界面完成,自动映射为 HTTP 接口,无需定义 Controller、Service、Dao、Mapper、XML、VO 等 Java 对象即可完成常见的 HTTP API 接口开发
访问 进行操作
文档地址:
三、想掌握大型互联网分布式架构还需要知道的技术要点:
RPC的设计架构与思想,RPC架构完整调用流程,自定义RPC相应因素详情等;
Netty三大组件,ByteBuffer 之工作原理、应用模式、分配与释放机制、源码剖析等;
RPC工程设计与整体结构,完成RPC服务注册与发现功能;
ZK核心组件剖析,ZK工作流程剖析,网络通信组件、会话接收器、并发处理器等;
Dubbo源码结构、整体设计及层次结构与作用,SPI机制,Dubbo服务注册发现剖析,Dubbo服务高可用,Dubbo服务治理之调用过程、服务降级与限流剖析,网络通信协议详解。
SSM框架课程是Java从业人员从基础学习阶段进阶到初级程序员的入门课程,也是走向成功的必经之路。 SSM框架课程中共包含5个课程模块,分别是Spring框架、SpringMVC框架、Maven高级、SpringBoot框架、MyBatis-Plus框架。通过本阶段课程的学习,学习者可以掌握大量实用开发技术,企业开发规范,最终实现基于SpringBoot技术实现SSM整合。
四、我称这里是框架能量补给部分,希望能对你们有一点帮助 110 个常用的组件和框架!!!
以下排序是按照从技术组件到开发框架到代码工具:
1.WEB 容器
Tomcat:
Jetty :
JBoss :
Resin:
2.数据库
H2:
SQLite:
MySQL:
Oracle:
SQL Server:
PostgreSQL:
MariaDB:
3.缓存
Redis:
Memcached:
4. 消息队列
Kafka:
RocketMQ:
Pulsar:
RabbitMQ:
5.负载均衡
LVS:
NGINX:
6.分布式存储
Ceph:
HDFS:
7.数据库集群
MHA:
8.分布式协调
ZooKeeper:
9.大数据相关
Storm:
Flink:
Spark:
HBase:
Flink:
ClickHouse:
Doris:
9.日志收集与分析
Filebeat:
Logstash:
Kibana:
10.搜索
Elasticsearch:
11.系统监控
SkyWalking;
zipkin:
12.分库分表
ShardingSphere:
Mycat2:
13.微服务
Spring Cloud;
14.RPC 框架
Dubbo;
gRPC:
15.网络框架
Netty:
16.MVC 框架
Spring Framework:
Spring Boot:
17.数据层框架
MyBatis:
MyBatis-Plus:
Hibernate:
18.数据库连接池
HikariCP:
Druid:
19.Redis 客户端
Jedis;
Redisson:
20.Rest 接口设计与开发
Swagger:
21.数据参数校验
Hibernate Validator:
22.安全相关
Shiro:
Bouncy Castle:
jjwt:
23.Reactive 编程
Akka:
RxJava:
vert.x:
24.单元测试
JUnit:
25.测试辅助
JMockit:
Mockito:
JMeter:
Selenium:
26.日志记录
Log4j2:
Logback:
SLF4J;
27.代码质量检查
Checkstyle;
Spotbugs;
28.代码生成
Lombok:
29.领域语言定制
ANTLR:
30.配置文件解析
config;
31.序列化格式
Avro:
Thrift:
Protobuf:
32.模板引擎
Freemarker:
Thymeleaf:
33.Office 文档处理
POI
34.PDF 处理
iText:
Apache PDFBox:
35.高性能队列
Disruptor:
36.HTTP 客户端
Async Http Client:
Feign:
Retrofit:
37.二维码解析
ZXing:
38.定时任务调度
Quartz:
39.JSON 解析
Gson:
Jackson:
fastjson:
40.分布式事务
Seata:
41.属性映射
MapStruct:
42.本地缓存
Ehcache:
Caffeine:
43.系统排错与调优
JMH:
Arthas:
44.命令行参数解析
JCommander:
45.计算机视觉
JavaCV:
45.工具集合
Guava:
Hutool:
46.构建工具
Maven:
Gradle:
Bazel:
47.本地系统开发
JNA:
48.JVM
Adopt Open JDK:
Graal:
Open JDK:
49.多版本 Java 支持
jenv:
50.爬虫相关
Nutch:
Crawler4j:
jsoup:
webmagic: