项目交流群

QQ群: 994793967 ,欢迎进群交流讨论

一、Java基础

  • java基础语法
  • 集合
  • io
  • 多线程
  • 并发
  • 反射
  • 网络编程

注意:对于Java基础,其中集合和io是初学Java后端的时候最常用的,特别是集合。对于多线程、并发、反射和网络编程,初学后端的时候基本用不到,因为你初学的时候不会涉及到这么深的技术,当然不代表不需要会,如果你面试肯定还是要会的。

这里学习Java,建议学习Java8 windows下安装Java8并配置环境变量,因为这一块的社区比较成熟,如果你学习过程中出现问题,很快都能查找到问题所在。另外现在都已经 JDK 13 了,为什么还有这么多公司使用旧版本。Java 8 已经算好的了,有的公司还在使用 7,更有甚者还在用 6,你说是不是很 6。

之所以会出现这种状况,是因为升级版本耗时费力,最重要的是有可能影响服务的稳定性,虽然说 Java 是向后兼容的,但是谁知道是不是有坑在里面。在没有重大安全漏洞或重大性能提升的情况下,大多数公司还是以稳定性为主,既然 Java 8 已经能满足业务需求了,那就用它好了。

如果你没有Java学习视频,请看文末,我会在文末写到

二、数据库

对于数据库方面,现在基本上用的还是MySQL,所以我认为还是学习MySQL。对于MySQL版本的选择,建议选择MySQL5.7版本。现在普遍使用的仍然是5.5、5.6和5.7,对于MySQL8,不建议学习,一方面社区不成熟,而且未知的坑…还没人踩过(O(∩_∩)O)
安装教程:windows下的MySQL5.7的下载、安装以及配置环境变量
学习网站,其实 菜鸟教程 也不错,用来入门MySQL。有一个软件叫做NavicatforMySQL(下载NavicatforMySQL),这个软件相当于MySQL的图形化界面,不用使用CMD来操作MySQL了,当然这个软件也可以使用命令行语句,初学MySQL还是不建议使用这个软件,一些MySQL语句还是多练习比较好,特别是多表复杂查询,在后来的学习过程中会经常用到。

如果你没有MySQL学习视频,请看文末,我会在文末写到

三、web入门

在如今 Java 开发中,很多开发者只知道怎么使用框架,但根本不懂 Web 的一些知识点,其实框架很多,但都基本是一个套路,所以在你学习任何框架前,请把 Web 基础打好,把 Web 基础打好了,看框架真的是如鱼得水。

关于Http协议,这篇文章就写得很清楚:一文带你看清 HTTP 所有概念

关于JSP,你只要了解它其实就是一个Servlet就行了,关于它的一些标签用法,我认为可以直接忽略,因为现在互联网几乎没哪间公司还用 JSP,除了一些老旧的项目。现在都是流行前后端分离,单页应用,后端只做 API接口的时代了,所以时间宝贵,把这些时间重点放在Servlet规范上面吧。

关于Tomcat,它是一个Web容器,我们写的后端项目都要部署到Web容器才能运行,它其实是一个遵循 Http,通过Socket通信与客户端进行交互的服务端程序:TOMCAT原理详解及请求过程

四、Web主流框架(SSM)

当然也有一个ssh,ssh通常使用 Struts2为控制器(controller) ,spring 为事务层(service), hibernate 负责持久层(dao)
ssm通常使用 springMVC为控制器(controller) ,spring 为事务层(service), MyBatis 负责持久层(dao)

注意:以下内容,没学过的可能有点蒙…主要看总结就行了。

SSH和SSM区别对比:
Struts2和SpringMVC
相同:

  • spring依赖注入(DI)来管理各层的组件,都是使用AOP切面编程 来管理事务,日志,权限等。

不同:

  • 1.Struts2 和 SpringMVC 控制视图和模型的交互机制不同
  • 2.Strtus2是Action类级别,SpringMVC是方法级别,更容易实现RESTful风格。

Hibernate 和 MyBatis 两种ORM框架对比

相同:

  • 1.Hibernate与MyBatis都是可以通过SessionFactoryBuider由XML配置文件生成SessionFactory,然后由SessionFactory生成Session,最后由Session来开启事务和SQL语句。其中SessionFactoryBuider,SessionFactory,Session 的生命周期都差不多
  • 2.Hibernate和MyBatis都支持JDBC和JTA事务处理

不同:

  • 1.MyBatis可以进行更为细致的SQL优化,可以减少查询字段
  • 2.MyBatis容易掌握,而Hibernate门槛较高
  • 3.Hibernate的Dao层开发比MyBatis简单,MyBatis需要维护SQL和结果映射
  • 4.Hibernate对 对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便
  • 5.Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同的SQL
  • 6.Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳,更新操作不能指定刷新指定记录,会清空整个表,但是也可以使用第三方缓存
  • 7.Hibernate 封装性好 屏蔽了数据库差异,自动生成SQL语句。应对数据库变化能力较弱,SQL语句优化困难
  • 8.MyBatis仅实现了SQL语句和对象的映射,需要针对的数据库写SQL语句,应对数据库变化能力较强,SQL语句优化比较方便

总结:SSM和SSH不同主要在MVC实现方式,以及ORM持久化方面不同(Hiibernate与Mybatis)
SSM越来越轻量级配置,将注解开发发挥到极致,且ORM实现更加灵活,SQL优化更简便;
SSH较注重配置开发,其中的Hiibernate对JDBC的完整封装更面向对象,对增删改查的数据维护更自动化,但SQL优化方面较弱,且入门门槛稍高。

综上初学者建议SSM,当然目前很多项目已经不是用SSM开发了,但是为什么还要学习呢,因为很多古董级别的项目可能还是SSM开发的,你需要懂啊,另外对于SSM其中对重要的是Spring,Spring全家桶的很多框都是非常流行的,而且Spring是基础。You need to know!

Spring 其核心思想就是 IOC 和 AOP:

参考博客:

  • 谈谈对 Spring IOC 的理解
  • Spring面向切面编程

SpringMVC 它的思想是全部请求统一用一个 Servlet 去做请求转发与控制,这个 Servlet 叫 DispatcherServlet:

参考博客:

  • SpringMVC初始化过程
  • SpringMVC处理请求过程

Mybatis 它可实现动态拼装 sql,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集,这个Mybatis框架相对比较简单。多注意:动态拼接Sql。

如果你没有SSM学习视频,请看文末,我会在文末写到

五、Web进阶(Spring Boot、spring Cloud)

学完Spring你肯定有感觉,这配置也太复杂了,写一个项目,jing是xml文件。SpringBoot 弥补了 Spring 配置上的缺点,再也不用为繁杂的 xml 费劲精力了,堪称是 Java 后端开发的颠覆者,推荐书籍「Java EE 开发的颠覆者:SpringBoot实战」

SpringCloud 是一个微服务架构,能够将项目按照业务分成一个个微服务,每个微服务都可独立部署,服务之间互相协调。当一个项目越来越大时,随之而来的是越来越难以维护,此时将项目拆分成若干个微服务、单独维护、单独部署,也可以降低项目不同业务间的耦合度。推荐书籍「Spring Cloud 与 Docker 微服务架构实战」,这本书将 Docker 与微服务完美地结合在一起,堪称完美!

当你学到这一块的时候,特别是Spring Cloud的时候可能会感觉比较吃力,这一块比较复杂,但是新技术正在向此发展,也可以学学。

如果你没有Spring Boot、spring Cloud学习视频,请看文末,我会在文末写到

六、你需要掌握的其他技术

尝试用git或者github,maven,shiro对你的项目进行升级.

  • git官网
  • git教程
  • maven

    其实maven在学习SSM的时候都应该用了…比较方便

  • shiro不推荐学习SSM的时候就学习shiro,因为这个时候整合比较麻烦,建议学习Springboot的时候,再学习shiro,这个时候整合Shiro比较方便快捷、易懂。

参考视频/博客:
SpringBoot与Shiro整合-权限管理实战视频
SpringBoot+Shiro之简单的登陆(认证和授权)

七、开发工具

工欲善其事,必先利其器,以下是我推荐的一些开发工具:

  • Intellij IDEA:Java 开发最好的 IDE,这个是公认的最好的Java编辑器,不接受反驳。

  • Chrome:Chrome浏览器就不需要解释了吧,程序员必备浏览器…

  • Postman:很好用的一个接口调试工具。

八、写在最后

如果你准备走Java后端而不走前端的话也建议学习一些前端基础和框架,比如基础的h5、css、js,框架的话比如:layui、vue至少自己在写一下自己的小项目的时候不至于前端一点不懂…以上总结,只代表个人看法,只是想分享一下关于web后端的学习路线,让对此感兴趣的人有一个大致的学习路线,如有不足之处,欢迎大佬指出。
对于学习视频,个人搜集了很多视频,为了方便自己、方便大家查找个人写了一个网站可以直接搜索相关关键字的视频。网站地址:理木客-资源搜索。

视频资源会不定期补充,也欢迎大家贡献资源。分享是一种美德,欢迎关注公众号:理木客。

欢迎关注公众号:理木客

首页

Java

MySQL

SSM

Spring相关

小白自学Java后端学习计划(附带学习视频)相关推荐

  1. 毕业倒计时 — 科班仔Java后端的点滴与学习路线规划

    毕业倒计时 - 科班仔Java后端的点滴与学习路线规划 文章目录 毕业倒计时 - 科班仔Java后端的点滴与学习路线规划 一.前言 二.选好方向-"站在风口上,猪都能上天" 三.学 ...

  2. 小白自学Java框架,框架的全面解析总结

    springmvc工作机制(原理) DispatcherServlet主要用作职责调度工作,本身主要用于控制流程 1.springmvc将所有的请求都提交给DispatcherServlet,它会委托 ...

  3. 自学Java比较靠谱的学习Java的视频网站

    怎样自学Java,不紧深深苦恼着广大的Java学习者,学习Java的人一般来说有自学和去Java培训机构2个选择,培训机构的好处就是能在短时间内系统地教授你大量知识,至于你能不能接受不管,而且培训机构 ...

  4. java 学习计划_Java学习计划范例

    Java学习计划范例 Java学习计划 好的计划是成功的一半,今天是在创新思维的第一节课,在这门课程的开始,一个有策略的.有目的性的计划是非常必要的,为了在以后的学习中能够达到最好的.效果," ...

  5. mysql学习计划_MySQL学习计划

    2019.1.15更新 没有按照既定计划执行,借口当然是一大堆,耐心得读完了这本书,受益匪浅,解决了我日报和周报中的很多问题,虽然离目标还有很大的距离,但是这本书让我看到了希望,科技改变世界,这一行行 ...

  6. html5学习计划,个人学习计划时间表2018

    个人学习计划时间表2018 一.时间计划 1.早上 (1).每天6:20必起.(2).每天6:30必到教室.(3).每天7:00-7:10分吃早餐.(4).7:10分回教室直到早自习下(7:50).( ...

  7. 零基础小白-自学java全栈开发-学习路线-只要看这一篇就可以了(完整版)

    文章目录导航 小白自述 具体内容以及详细流程 开发工具的使用 总结一下 什么是java 第一个java程序分析 基础知识 运算符操作 控制语句 数组类型 方法定义和使用 Eclipse工具的使用 类与 ...

  8. Android学习计划 Android学习总结

    ********************************2011/07/01********** 之前自己曾参与了一个简单的Android应用项目(简单的拍照功能,利用socket与PC 端服 ...

  9. Java基础入门教程,零基础小白自学Java必备教程

    一.本单元知识点概述 (Ⅰ)知识点概述 二.本单元目标 (Ⅰ)重点知识目标 1.方法重写 2.Super和this关键字 3.抽象类 (Ⅱ)能力目标 1.能够写出类的继承格式 2.能够说出super可 ...

最新文章

  1. python编程入门经典教程-python编程入门经典
  2. android:textAppearance设置文字外观
  3. linux下为php添加curl扩展的方法
  4. 美团点评DBProxy读写分离使用说明
  5. 牛客网--19校招--俄罗斯方块
  6. 我的第二个开源库SuperTextView——中文文档
  7. python之判断一个值是不是可以被调用
  8. 跟踪某个类所创建对象的个数
  9. mysql数据库更新数据库语句_MySQL数据库之UPDATE更新语句精解
  10. 6-2 顺序表基本操作 (10 分)
  11. 【小米盒子3】刷机Android TV+电视家做极简电视
  12. android 7 sl4a,SL4A蟒蛇作出android手机
  13. 微信开放平台修改微信分享的小图标后,移动端显示的分享的小图标未改变的问题解决
  14. java activeMQ消息的发送与接收
  15. 物联网定位系统:GPS、WiFi、基站、RFID…
  16. 英国金融监管机构加大力度审查违规加密货币公司
  17. 微信隐藏功能系列:微信定时提醒,2个步骤,让忙碌中的自己松口气
  18. Chaos Vantage这款渲染器有多强,一起来了解一下
  19. 力推光伏风电 国网2015如何能源革命
  20. 装柜设计软件MaxLoad Pro3 出售

热门文章

  1. Android wifi PNO扫描流程(Andriod O)
  2. 图片到eps的批量转换BAT脚本
  3. 第7章第23节:双图排版:两张图片的错位叠加 [PowerPoint精美幻灯片实战教程]
  4. 设计模式之观察者模式——猫抓老鼠1
  5. java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource解决方法
  6. Windows 取证之$MFT
  7. [转载]Meta Learning单排小教学
  8. 统计学中的第p百分位数的理解
  9. 人人网发布QQ劝架补丁 同时兼容QQ及360
  10. win7笔记本网络连接图标一直转圈但可上网