赞
踩
本课程内容由浅入深、知识点全面,同时结合了作者丰富的实战经验,行文流畅,是不可多得的学习资料。
——尹吉欢,《Spring Cloud 微服务:全栈技术与案例解析》一书作者,极部落 Java 开发者大会分享嘉宾
Spring MVC 是一款基于动作的 MVC 框架,作为当下主流的框架之一,其具有可配置、非侵入的特点,代码复用性高,可定制绑定模型数据和验证器,是从事 Java 后端开发人员应该要掌握的技术。
本课程内容从如何使用 Spring MVC 进行实际开发的角度出发,通过剖析底层原理 + 实际案例的方式详细讲解了 Spring MVC 的常用技能点,以达到掌握底层原理的同时能够快速上手进行开发的目的。
宁楠,资深 Java 开发工程师、技术公众号原创博主、知识星球常驻嘉宾、讲师。曾就职于某大型互联网公司,历任高级工程师、技术总监、创业公司 CTO;曾参与研发手游欢乐碰碰熊后台数据管理系统、某医疗系统区域数据采集交换平台等项目,对 Java Web 编程有着丰富的经验和独到的见解,并热衷于分享编程干货,著作《Java 极简编程》一书即将出版。
大家好,我是宁楠,资深 Java 开发工程师,曾就职于某大型互联网公司,历任高级工程师、技术总监、创业公司 CTO,对 Java Web 编程有着丰富的经验和独到的见解。
首先问大家一个问题,我们不断学习新技术、不断提高自己能力的目的是什么?可能有一小撮人单纯追求技术带来的快乐,但是以我个人的观察经验,大部分人是为了找到更好的工作、拿到更高的薪资。
既然是这样,我们在选择学习一门技术的时候,先要考虑的是这门技术的市场需求量如何,以及企业需要什么技术,然后再判断这门技术值不值得花精力学习。因此,请记住一句话,尽量只学实用的技术。
1. 关于 Spring MVC 技术的招聘信息
打开 Boss 直聘、智联招聘等网站,搜索 Java 相关的岗位,大部分招聘信息的任职要求如下图所示:
上面几则招聘信息表明,如果去应聘 Java 开发工程师的岗位,无论是初级开发师,还是有一定经验的中高级开发师,多多少少需要掌握 Spring MVC 框架技术。在当下互联网技术日新月异的环境下,大部分企业还在用 Spring MVC 框架进行项目研发。由此看来,我们不能仅仅掌握 Spring MVC 的基本用法就可以了,更需要深入了解它,以便更好地适应企业的开发需求,同时提升自我价值。
2. Spring MVC 的重要性
作为当前流行的 MVC 框架,Spring MVC 框架的优点就不再赘述了,同时它是 Spring 框架体系的一个分支产品,以 Spring IoC 为基础,并利用容器的特性来简化其配置。Spring 是 Java 开发领域非常重要的框架,绝大部分的企业级应用程序都使用 Spring 来构建体系,而 Spring MVC 相当于 Spring 的一个子模块,可以很好地和 Spring 整合起来进行开发。
Spring MVC 是我个人在开发 Web 应用时的不二之选。回想起几年前开始学习 Spring MVC 技术的时候,苦于网上没有太多详细且实用的教程,大多泛泛而谈、偏理论而轻实践,或者只是讲解了 Spring MVC 的部分常用功能,内容不够完整。自己在学习摸索的过程中遇到了很多问题,也踩过很多坑,这对于初学者来说,是效率非常低的一种方式。我们在竞争如此激烈的行业中,最应该追求的就是高效率,写代码也罢、学技术也罢,都是这样,只有做到事半功倍才有更多时间和精力去学习新技术,从而进一步提高自己的能力。
Spring MVC 技术现在已成为主流,但遗憾的是,网上相关详细全面且实用的教程还是很少,这对于初学者来说,学习成本依旧很高。作为一个热衷于分享干货的原创博主,我将自己长时间以来学习使用 Spring MVC 框架的经验和技巧整理成册,以 GitChat 达人课的形式分享给大家。
我本人比较反感长篇大论讲概念、没有多少实际干货的教程。再次强调,我们学习的目的主要在于应用,而不在于研究理论,所以我的写作风格是偏向于实际应用的,可以快速上手,同时辅以底层原理的讲解。整个课程深入浅出、通俗易懂,案例式 + 专题式的风格带领大家快速上手 Spring MVC。
整个课程的设计兼顾初学者和有一定经验的开发人员,前半部分详细讲解 Spring MVC 框架在实际开发中需要用到的技能点,所选取案例全部是我个人在开发中遇到的典型问题,实用性很强。
后半部分在前面的基础上进行了延伸扩展,包括当下主流的 NoSQL 数据库 MongoDB 的讲解,如何使用 Spring Data 框架操作 MongoDB,Nginx 搭建 Tomcat 集群实现负载均衡。
课程的最后,我把涉及的知识点进行了整合,来完成一个权限管理的实战项目,通过这套 Spring MVC + Layui + Spring Data + MongoDB 技术选型可以直接应用到实际开发中。
权限管理是企业比较关注的,也是面试中经常会问到的重点问题,所以选择实现一个权限管理的功能模块,也是给大家添加一个求职砝码,让你更具竞争力。
权限管理模块用来设置系统的安全策略,用户只能访问已授权的资源,未授权的资源无法访问,可在后台动态设置用户的资源授权,通过将各种权限分配给角色,再将角色赋予用户的方式来完成。
本系统持久层使用的是 MongoDB 数据库,业务实现使用的是 Spring MVC + Spring Data 技术选型,前端使用的是 Layui 框架,具体效果图如下所示。
本课程内容分为四大部分,共计 23 课。
第一部分:Spring IoC 专题(第 01 ~ 04 课)
万丈高楼平地起。IoC 作为 Spring 框架体系的底层容器,是我们必须要掌握的基础,这部分内容将讲解 Spring IoC 的原理及实际应用。
第二部分:Spring MVC 详解(第 05 ~ 17 课)
技能梳理、突破重点。有了前面的 Spring IoC 基础,接下来进入本课程的重头戏,这部分内容将详细讲解 Spring MVC 的使用,涵盖了实际开发中常用的技能点,理论结合实践的方式不仅仅让读者掌握基本的概念,同时具备使用 Spring MVC 开发项目的能力。
第三部分:MongoDB 专题(第 18 ~ 21 课)
百尺竿头,横向扩展。在实际开发中,Spring MVC 需要配合数据库来实现完整的业务功能,这部分内容将讲解当前主流的 NoSQL 数据库 MongDB,包括其安装及使用。
第四部分:项目实战(第 22 ~ 23 课)
融合贯通,更上一层楼。这部分内容将讲解 Nginx 搭建 Tomcat 集群,以及使用 Spring MVC + Layui + Spring Data + MongoDB 的技术选型来完成一个项目实战。
希望大家学完本系列课程后,可以快速了解并掌握 Spring MVC 在项目中最常用的技能点,以及在实际开发中 Spring MVC 与其他技术的整合。同时学会使用一个完整的技术选型,可以直接应用到实际项目中,具备使用 Spring MVC 开发项目的能力。预祝学习愉快~
Spring 是一个企业级开发框架,为解决企业级项目开发过于复杂而创建的,框架的主要优势之一就是分层架构,允许开发者自主选择组件。
Spring 的两大核心机制是 IoC(控制反转)和 AOP(面向切面编程),从开发的角度讲,我们使用 Spring 框架就是用它的 IoC 和 AOP。
这里我们来详细了解 IoC,它是 Spring 框架的灵魂,非常重要,理解了 IoC 才能掌握 Spring 框架如何使用。
IoC 也叫控制反转,首先从字面意思理解,什么叫控制反转?反转的是什么?
在传统的程序开发中,当需要调用对象时,通常由调用者来创建被调用者的实例,即对象是由调用者主动 new 出来的。
但在 Spring 框架中创建对象的工作不再由调用者来完成,而是交给 IoC 容器来创建,再推送给调用者,整个流程完成反转,因此是控制反转。
举个超市购物的例子。
传统方式:假如去超市买东西,我们需要先选择商品,然后用准备好的袋子或者购物袋把商品提回来。
IoC:只需要把袋子放在家门口,超市会自动在袋子里装满你需要的商品,然后打开袋子直接用就可以了。
我们通过创建一个 Student 对象来讲解 IoC 的使用。
(1)创建 Student 类:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。