Servlet 和 JSP 是 Java 服务器开发的核心技术,也是必备技能。重点掌握如下知识: HTTP 协议、Tomcat 服务器、Servlet、Jsp、EL 表达式和标签库。(虽然在前后端分离模式盛行的时代,JSP显露出颓势,但在一些中小型公司中仍在使用,也是目前Java WEB 攻城猫必备的。)
5、做一个简单的项目
学到现在,大家已经具备初步的项目开发能力。非常有必要通过一个项目,将所学的知识串联一遍,强化所学成果。同时,也通过项目开发的学习,真正进入 Java 企业级开发的行列。
三、框架阶段框架作为企业使用的重要技术, 其本质是写更少的代码,做更多的事情, 从而大大减码量, 让程序员更加关注业务的实现。 自己写的少 了,都是用别人写好的东西就要明白别人写了什么,学习框架重难点不仅仅是如果使用框架而是要明白别人到底写了什么。 但是也要掌握好”度”, 不要一味追求底层, 要”择其重”, 否则可能出现东西太多, 永远也学习不完的情况。
1、MyBatis 框架
学习 MyBatis 框架要知道它是一个持久层框架。它的主要职责就是完成数据库操作,因此也要求我们有一定的 SQL 基础。MyBatis 灵活就体现在所有 SQL 都是程序员编写,想要什么样的结果就写什么样的 SQL 命令,剩下大部分的事情都交给 MyBatis 完成了。我们把 Mybatis 放到了学完 JDBC 之后,这样既可以巩固 JDBC 和数据库知识,也能在即将要做的项目中开始使用 Mybatis,这样更贴合企业实战。
2、Spring 框架
学习 Spring 框架的目标很明确, 就是学习好 IOC/DI、 AOP、 声明式事务。 单独使用 Spring 很简单,重点是学习了核心功能后如何把这些功能运行。目前大部分技术都需要被 Spring 整合, 所以 Spring 是很重要的框架。 Spring 框架不是专注于某一层, 哪里都有 Spring 的影子。所以基础语法学习好后要多做几个项目, 才能真正的感受到 Spring 的魅力。
3、Spring MVC 框架
Spring MVC 做为 MVC 框架, 其关注点就是控制器的编写。如何接收参数, 如何传递内容到页面,还有大量注解这些都是核心。学习时把握好主脉, 要从运行原理入手, 清楚的知道里面的核心组件, 学习起来就事半功倍了。
4、Maven
Maven 是项目构建工具,必须先要弄清楚分布式的概念。 从学习了 Maven 后每个项目可能不是一个 Project 而是很多个, 所以重难点是项目和项目之间的关系以及 Maven 中 POM 的配置。
5、做一个完整的 SSM 项目
学到现在,大家已经完全具备Java EE 项目的独立开发能力。非常有必要通过一个完整项目,将所学的知识串联一遍,强化所学成果。同时,也通过项目开发的学习,真正进入 Java 企业级开发的行列。
6、Spring Boot框架
学完 MyBatis、Spring、Spring MVC 整合后,一定会被其繁琐的配置,搞得头昏脑胀,那么你就可以好好感受一下 Spring Boot 的魅力喽。从最根本上来讲,Spring Boot 就是一些库的集合,它能够被任意项目的构建系统所使用。它使用 “约定大于配置” 的理念让你的项目快速运行起来。用大佬的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 jar 包,Spring Boot 整合了所有的框架。
7、做一个 Spring Boot 项目
通过之前 SSM 项目的练习,相信大家已经对 WEB 项目开发有一定的理解,那么现在就用 Spring Boot 框架来加深印象,感受目前 Java 企业级开发的主流框架的便捷性。分享几个热门项目,供大家学习参考。
BootDo 面向学习型的开源框架,减少过度封装,展现技术本质。
一套电商系统,使用现阶段主流技术实现。涵盖了SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7.6.2、RabbitMQ 3.7.15、Redis 5.0、MongoDB 4.2.5、Mysql5.7等技术,采用Docker容器化部署。
RuoYi 基于SpringBoot的权限管理系统。
四、高级技术阶段高级技术阶段是随着电商火热后被大量使用的,这些技术大部分都是为了解决”高负载”,”高并发”等使用。
1、Linux
Linux 是操作系统,学习 Linux 就是为了让自己开发的项目发布到 Linux 中,所以学习 Linux 的主要要求是如何把项目运行的环境都配置出来。作为 Java 程序员不要求掌握特别深的 Linux 知识,掌握基本操作即可。
2、Spring Cloud
首先,尽管 Spring Cloud 带有“Cloud”这个单词,但它并不是云计算解决方案,而是一个基于 Spring Boot 实现的云原生应用开发工具,它为基于 JVM 的云原生应用开发中涉及的配置管理、服务发现、熔断器、智能路由、微代理、控制总线、分布式会话和集群状态管理等操作提供了一种简单的开发方式。
3、Spring Cloud Alibaba