清华毕业大佬用了一个项目就把SpringMVC+Spring+MyBatis给讲完了

news2024/11/16 19:54:55

前言

时间飞逝,转眼间毕业七年多,从事 Java 开发也六年了。我在想,也是时候将自己的 Java 整理成一套体系。 这一次的知识体系面试题涉及到 Java 知识部分、性能优化、微服务、并发编程、开源框架、分布式等多个方面的知识点。

写这一套 Java 面试必备系列文章的初衷。

  1. 整理自己学过的知识,总结,让其成为一套体系,方便日后查阅。
  2. 现在不少 Java 开发者还比较迷茫,没有形成自己的一套知识体系。希望这一系列的文章能够帮助他们。

本文介绍的 SpringMVC Spring MyBatis 开源框架开发技术,是基于 Java EE Web应用程序,用于开发企业级 Web 应用的软件框架。

Java EE 通过提供中间层集成框架来满足各种应用需求。 Java EE 架构具有高可用性、高可靠性、高扩展性,井且成本低,是企业构建 Web 应用平台的首选。而 Java EE 架构通常选用 SpringMVC+Spring+MyBatis 框架作为其基础开发框架。通过对三个框架的合理整合,不仅可以大幅度提高系统的开发效率,而且能提高系统的稳定性、健壮性与安全性。

因为本文介绍的内容是三大框架的技术,所以包含的内容比较多,小编只把部分知识点拿出来粗略的介绍了一下,每个小节都有更加细化的部分,需要的小伙伴可以转发关注小编,私信“技术”获取!

首先,先来看下目录

其次,介绍的是主要内容

本文对当前企业使用较多的、流行的三大技术框架SpringMVC、Spring 和MyBatis的基本知识和使用方法进行了详细的讲解。

本文内容共分为七章。

第一章为 MyBatis 开发入门知识,欢迎您来到MyBatis的世界,MyBatis 是一个支持 普通SQL查询、存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解来配置和进行原始映射,将接口和Java的POJOs(Plain Old Java Obects,普通的Java对象)映射成数据库中的记录。

本章知识要点

  • MyBatis 简介
  • MyBatis 的优势
  • 认识第一个MyBatis程序
  • MyBatis日志

第二章为 MyBatis 置选项,在配置MyBatis的时候,我们可以通过一一个 XML(第一章 中用mybatis-config.xml)来配置,也可以嵌入到其他配置文件中,比如我们后面将要学习的Spring配置文件applicationContext.xml.

本章知识要点

●使用XML方式配置MyBatis;

●使用Java API方式配置MyBatis。

第三章为映射器配置,MyBatis真正强大之处就在它的映射语句上。如果比较SQL映射配置与JDBC代码,可以发现,使用SQL映射配置可以节省很大的代码量。MyBatis 映射配置主要被用来创建SQL语句,但又给自己的实现预留有极大的空间。在代码里直接嵌套SQL语句是很差的编码实践,并且维护起来也比较困难。MyBaits 使用了映射器配置文件或注解来配置SQL语句,使SQL语句和代码分离,极大地提高了代码的后期可维护性。

本章知识要点

●SQL映射配置文件和SQL映射接口;

●SQL映射;

●SQL高级映射;

●动态SQL;

●注解配置SQL映射器。

第四章为 Spring 核心技术,Spring是一个功能强大的开源框架,它为企业级开发提供了丰富的功能,但是这些功能的底层都依赖于它的两个核心特性,也就是依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)。

本章快速介绍了Spring 框架,包括Spring DI和AOP的概况,以及它们是如何帮助读者解耦应用组件的;在“装配Bean"中,我们将深入探讨如何将应用中的各个组件拼装在一-起,读者将会看到Spring 所提供的自动配置、基于Java的配置、XML配置以及高级装配;在“面向切面的Spring”中,展示如何使用Spring 的AOP特性把系统级的服务(例如事务、日志、审计)从它们所服务的对象中解耦出来。

本章知识要点

●Spring开发环境的搭建;

●依赖注入;

●面向切面编程。

第五章为 SpringMVC 框架技术,本章讨论SpringMVC(MVC-模型-视图控制器)。MVC是- -一个众所周知的以设计界面应用程序为基础的设计模式。它主要通过分离模型、视图及控制器在应用程序中的角色,从而将业务逻辑从界面中解耦。通常,模型负责封装应用程序数据以便其在视图层展示。视图仅仅负责展示这些数据,不包含任何业务逻辑。控制器则接收来自用户的请求,并调用后台服务来处理业务逻辑。处理后,后台业务层可能会返回一些需要在视图层展示的数据。控制器收集这些数据及准备模型在视图层展示。MVC模式的核心思想是将业务逻辑从界面中分离出来,允许它们单独改变而不会相互影响。本章我们将对SpringMVC进行学习。

本章知识要点

SpringMVC概述;

创建第一一个 SpringMVC程序;

SpringMVC RequestMapping的基本设置;

SpringMVC 前后台数据交互:0 OMagine 1大明

SpringMVC文件上传下载;

SpringMVC 常用注解。

第六章为 SpringMVC Spring MyBati 的集成部分,前面几章中学习了Spring、 SpringMVC 和MyBatis。我们知道,Spring 是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只能由EJB完成的事情,使企业应用开发变得简单高效,且可维护性得到极大提高。SpringMVC是一个MVC的流程框架,SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制,在流程处理方面更加灵活,可以很容易地进行扩展,可以和Spring框架进行无缝集成。MyBatis 是一一个基于Java的持久层框架。MyBatis 提供的持久层框架包括sql Maps和Data Access Objects(DAO),MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects, 普通的Java对象)映射成数据库中的记录。下面将对这三个框架(简称: SSM)的集 成进行讲解。

本章知识要点

●依赖包的引入;

●Spring与MyBatis的集成;

●集成SpringMVC。

第七章为项目实战部分,主要以云服务器租赁后台管理系统为导向,介绍了综合应用SpringMVC+Spring+MyBatis 框架实现一个项目 的技术与过程。

最后,总概括

本文突破传统的侧重Java EE技术细节介绍的形式,以“项目驱动、任务导向”的方式进行内容组织。

首先以项目案例的实现为先导,让读者了解某项技术的应用,引起读者对这些技术实现的兴趣,激起其探索该技术实现原理与理论知识的愿望。

然后通过有目的的学习,让读者掌握文章中介绍的知识点及实现技术。

本文介绍的相关技术具有连贯性。

学以致用,知行并进,不忘初心,方得始终!

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

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

相关文章

R语言学习笔记——入门篇:第五章-高级数据管理

R语言 R语言学习笔记——入门篇:第五章-高级数据管理 文章目录R语言一、数值与字符处理函数1.1、数学函数1.2、统计函数1.3、概率函数1.4、字符处理函数1.5、其他实用函数1.6、将函数应用于矩阵与数据框二、控制流2.1、循环(for,while&#…

从零开始带你实现一套自己的CI/CD(三)Jenkins+Harbor

目录一、简介二、安装Harbor2.1 Amd64架构安装Harbor2.2 Arm64架构安装Harbor找不到make命令找不到git命令执行make download和make compile_redis失败执行make compile_redis命令执行make prepare_arm_data命令执行make pre_update命令执行make compile COMPILETAGcompile_gol…

【OpenCV-Python】教程:4-4 SIFT 介绍

OpenCV Python SIFT (尺度不变特征变换) 【目标】 SIFT算法SIFT特征点和描述子 【理论】 前面的章节中,我们提到了角点检测,例如Harris角点,他们是旋转不变的,因为,图像无论如何旋转,其角点特性不会发生…

世界杯8强盘点

2022年卡塔尔世界杯(英语:FIFA World Cup Qatar 2022)是第二十二届世界杯足球赛,是历史上首次在卡塔尔和中东国家境内举行、也是第二次在亚洲举行的世界杯足球赛。除此之外,卡塔尔世界杯还是首次在北半球冬季举行、首次…

docker(八)compose

compose 一 简介: 通过前面几篇文章,我们了解了docker的基本知识,docker帮我们解决了服务打包安装的问题,但是随着服务的不断增多带来了如下问题: 多次使用Dockerfile Build Image或者DockerHub拉取Image;需要创建多…

Spark 动态资源分配参数与源码原理分析

1.1.1、Dynamic Allocation 1.1.1.1 参数说明 1.2 版本 参数名及默认值含义spark.dynamicAllocation.enabled false是否开启动态资源分配,主要是基于集群负载分配executorspark.dynamicAllocation.executorIdleTimeout60sexecutor空闲时间达到规定值&#xff0c…

程序人生:化解互联网 “寒冬” 危机,我教你摆脱困境

三年反复的yi情,近20年史无前例的互联网裁员潮汹涌而至。 寒冬来袭,每一个职场打工人,都感到了寒意。 互联网企业大裁员的底层逻辑,一方面是受宏观环境影响(yq、互联网红利结束、政策变化等),…

ChatGPT震撼上市,AI也开始跟你卷了,来一起看看怎么用ChatGPT!!!

强大AI产品,ChatGPT震撼上市,程序员真的要失业了吗? 最近聊天机器人异常火爆,火爆到什么程度,卖个关子,下文解释。 OpenAI推出了ChatGPT,它能够回答各种各样的问题,包括生成代码&a…

Node.js学习下(70th)

一、Buffer 缓冲区 背景 1、浏览器没有储存图片文件等媒体文件的需求,JS 存的都是一些基本数据类型。 2、服务器需要存储图片/视频/音频等媒体文件,因此有了 Buffer 缓冲器。 1. Buffer 是什么 Buffer 是一个和数组类似的对象,不同是 Buf…

python代码学习1

\n 换行符号 \r 回车 \b 后退一个格 \t 制表符(4个字符为一组,当不字符被占有时,重新生成一个制表符。如果被占据,不满4个字符时,生成剩余部分空格。) #原字符 不希望字符串中转义字符起作用&#xff0…

FME Server 无代码环境中自动化您数据和应用集成工作流

专为现代企业打造 简化数据和应用程序集成,让您的数据为您所用。在FME Desktop中创作工作流,并使用 FME Server 将其自动化,以按计划或响应事件运行数据集成。 构建无代码 Web 应用程序,提供自助式数据提交和验证,并向…

Java学习之动态绑定机制

目录 举例说明 父类 子类 main类 运行结果 ​编辑 动态绑定 举例说明 父类 子类 main类 分析 运行结果 Java重要特性:动态绑定机制(非常重要) 举例说明 父类 class A {//父类public int i 10;public int sum() {return getI(…

2022年11月国产数据库大事记-墨天轮

本文为墨天轮社区整理的2022年11月国产数据库大事件和重要产品发布消息。 文章目录11月国产数据库大事记(时间线)产品/版本发布兼容认证排行榜新增数据库11月国产数据库大事记(时间线) 11月1日,国际知名研究机构 IDC …

什么是内存对齐

内存对齐 什么是内存对齐为什么要内存对齐内存对齐的规则结构体中内存对齐 sizeof无嵌套有嵌套 iOS中对象内存对齐 iOS中获取内存大小方式 class_getInstanceSize()malloc_size() iOS中内存对齐 实际占用内存对齐方式系统分配内存对齐方式问题 内存优化 总结 内存对齐 什么…

基于C++的AGV机器人无线控制

1 AGV系统概述 1.1AGV原理 AGV行走控制系统由控制面板、导向传感器、方向电位器、状态指示灯、避障传感器、光电控制信号传感器、驱动单元、导引磁条、电源组成。 AGV的导引(Guidance)是指根据AGV导向传感器(Navigation)所得到…

基于FFmpeg进行rtsp推流及拉流(详细教程)

目录 1.1 Windows系统 1.2 Ubuntu 和 Debian 系统 1.3 CentOS 和 Fedora 系统 1.4 macOS系统 2. 安装rtsp-simple-server 3. FFmpeg推流 3.1 UDP推流 3.2 TCP推流 3.3 循环推流 4 拉流 4.1 ffplay/VLC拉流显示 4.2 FFmpeg拉流保存成视频 1. 安装FFmpeg FFmpeg 是一…

tftp服务/nfs服务/二进制工具集/uboot基础

一、什么是系统移植 1)系统移植就是给开发板搭建一个linux操作系统 2)从官方获取源码,进行配置和编译,生成板子需要的镜像文件 二、为什么系统移植 1)为后面学习驱动开发课程打基础 2)驱动开发工程师必…

入行4年,跳槽2次,在软件测试这一行我已经悟了!

近年来,软件测试行业如火如荼。互联网及许多传统公司对于软件测试人员的需求缺口逐年增大。然而,20年的疫情导致大规模裁员,让人觉得行业寒冬已经到来。软件测试人员的职业规划值得我们深思。 大家对软件测试行业比较看好,只是因…

【云服务器 ECS 实战】专有网络 VPC、弹性网卡的概述与配置

一、ECS 专有网络 VPC1. 传统经典网络与专有网络 VPC 对比2. 建立自己的专有网络 VPC二、弹性网卡1. 弹性网卡的概念与优势2. 弹性网卡的配置一、ECS 专有网络 VPC 阿里云在早期使用的是一种传统的网络模式,将所有的 ECS 云服务直接建立在传统网络层之上&#xff0…

【有营养的算法笔记】归并排序

👑作者主页:进击的安度因 🏠学习社区:进击的安度因(个人社区) 📖专栏链接:有营养的算法笔记 文章目录一、思路二、模板讲解三、模板测试四、加练 —— 逆序对的数量今天讲解的内容是…