JAVA框架入门理解
1 SSH ——Struts+Spring+Hibernate
2 Spring +SpringMVC + Hibernate/ibatis
3 SSM —— Spring+SpringMVC+Mybatis—— 主流
4 Springboot+Mybatis——兴起
5 微服务框架——springboot+dubbo、springcloud—— 前沿
二:接下来是我们日常工作中使用较频繁的几个框架:
- 数据层(这类框架一般负责和数据库进行连接,负责SQL的处理,以及将查询到的数据映射成指定的java对象。):mybatis:易学,SQL手动编写,移植性差,支持动态SQL,数据量大、高并发、表关联复杂度高、要求对数据库可控性好可深度调优的项目,半智能效率快些
- API层(这类框架一般负责根据不同的API请求来调用程序中不同的处理方法,负责将调用者传入的数据映射成java对象,也负责处理程序返回给客户端的响应数据格式等):spring mvc:方法级别的拦截,是单例的,一个方法对应一个request上下文,而方法同时又跟一个url对应,性能好开发效率高零配置。
- 业务逻辑层(这类框架主要用到了两个特性,以此来简化程序的复杂性:控制反转(IOC)和依赖注入(DI)。在程序中结合这类框架,写出来的程序具有更好的维护性扩展性,也更加清晰简洁。):spring:非侵入性的方式,以一种完全外部化的方式来对待对象依赖关系。在 Spring 里,你可以使用 XML、SpringJavaConfig 或者 Groovy-Spring DSL 来连接对象依赖关系,也可以使用其它的方案。一站式解决方案,能够解决绝大部分框架类问题。
- 外加重要的:spring boot——进一步简化基于 spring 框架的项目的构建工具
三:最后,是关于web后端开发框架中
企业最常用的框架:
Spring:是 Java 后端框架家族里面最强大的一个框架,其拥有 IOC(控制反转) 和 AOP(面向切面) 两大利器,大大简化了软件开发复杂性。并且,Spring 现在能与所有主流开发框架集成,可谓是一个万能框架,Spring 让 JAVA 开发变得更多简单。
SpringMVC:API层,处理|响应请求,获取表单参数,表单校验等。HTTP协议中的请求/响应特性,在该框架中,用户的每一个请求都声明了一个需要执行的动作。而这主要是通过将每个请求URI映射到一个可执行的方法来实现。同时,也将请求参数映射到对应方法的参数。
SpringBoot:Spring 组件一站式解决方案,简化使用 Spring 框架的难度,简省繁重的配置。
SpringCloud:微服务框架首选,它利用Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等
Mybatis:一种轻量级的对象关系映射持久层(ORM)框架,数据层,数据库相关,连接、处理、映射。
Swagger-UI:前后端协作的利器,解析代码里的注解生成JSON文件,通过Swagger UI生成网页版的接口文档,可以在上面做简单的接口调试 。
ApachePOI:POI提供API给Java程序对Microsoft Office格式档案读和写的功能。
参考链接:
https://www.zhihu.com/question/357508270/answer/908848772
https://blog.csdn.net/lorogy/article/details/100663659
JAVA框架入门理解的更多相关文章
- (转载)Java多线程入门理解
转载出处http://blog.csdn.net/evankaka 写在前面的话:此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更 ...
- Java自带RPC实现,RMI框架入门
Java自带RPC实现,RMI框架入门 首先RMI(Remote Method Invocation)是Java特有的一种RPC实现,它能够使部署在不同主机上的Java对象进行通信与方法调用,它是一种 ...
- Java面试之五大框架的理解
五大框架(springMVC,struts2,spring,mybatis,hibernate) 说说你对springMVC框架的理解? 简要口述(如果感觉说的少可以在完整答案里面挑几条说) Spri ...
- Java - Struts框架教程 Hibernate框架教程 Spring框架入门教程(新版) sping mvc spring boot spring cloud Mybatis
https://www.zhihu.com/question/21142149 http://how2j.cn/k/hibernate/hibernate-tutorial/31.html?tid=6 ...
- Spring框架入门之基于Java注解配置bean
Spring框架入门之基于Java注解配置bean 一.Spring bean配置常用的注解 常用的有四个注解 Controller: 用于控制器的注解 Service : 用于service的注解 ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:3、客户端:其它编程语言项目集成:Java集成应用中心。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...
- 自学 Java 怎么入门
自学 Java 怎么入门? 595赞同反对,不会显示你的姓名 给你推荐一个写得非常用心的Java基础教程:java-basic | 天码营 这个教程将Java的入门基础知识贯穿在一个实例中,逐 ...
- 【原创】NIO框架入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战
概述 本文演示的是一个Android客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo. 当前由于NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能. ...
- 【原创】NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战
前言 本文将演示一个iOS客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo.服务端将分别用MINA2和Netty4进行实现,而通信时服务端你只需选其一就行了.同 ...
- 【原创】NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示
前言 NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能.这其中最流行的无非就是MINA和Netty了,MINA目前的主要版本是MINA2.而Netty的主要版本是Netty3和Netty ...
随机推荐
- (三)用go实现平衡二叉树
本篇,我们用go简单的实现平衡二叉查找树.具体原理参考大佬博客即可:AVL树(一)之 图文解析 和 C语言的实现 1.节点定义 type AVLNode struct{ data int height ...
- NGINX websocket 配制
http { map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstre ...
- 【uboot 】uboot通过tftp下载内核
1.开发板uboot,虚拟机能相互ping通 2.ubuntu搭建好tftp服务器,设置好文件夹,放置好文件 sudo apt install tftpd-hpa //安装服务程序 sudo sys ...
- (0501)phase机制
(1)启动seq: (2) 0312:
- ider git Reset Type 使用记录
Soft:在选定提交点之后所做的所有更改都将被暂存(这意味着可以到 Version Control 窗口(Alt+9)的Local Changes 选项卡,以便您可以查看它们,并在必要时稍后提交). ...
- jsp <img src="“> src 相对路径的问题
图片所在路径 jsp所在路径 调用处 相对路径 以调用处JSP位置为参考 每一个../代表上一级 4个 正好找到到webRoot 目录拼接后 webRoot /kernel/_static/img/ ...
- 简单理解gqrx是什么
gqrx:Gqrx是一个基于gnuradio和Qt架构,开发的一个开源的SDR接收机的应用.下图是他的一个运行界面: gnu radio GNU Radio是一个自由软件开发工具包,提供实现软件无线电 ...
- Unity 获取后缀名
for(int i = 0;i < files.Length;i++) { if(files[i].Name.EndsWith(".meta")) { continue; } ...
- astrocut:切割fitsfile
from astrocut import fits_cut from astropy.io import fits from astropy.coordinates import SkyCoord i ...
- linux下项目自动化备份
#! /bin/bash # 日期: 20220927 # 执行环境: 192.168.25.38 # 功能: 每周自动备份/data下"elasticsearch|project|soft ...