一、学习顺序
1、java语法,语法很重要,没有这个根本后面的也进行不下去,建议先学会应用了再去研究jdk源码,本身就是新手就想从原理开始了解,估计非常吃力,效果也不一定好。
2、数据库,首先学关系型数据库,通常的选择有mysql和oracle,我建议先学mysql,相比oracle要简单,同样 对于新手应用最重要,不要了解太深的。随便给个需求都能写出sql语句了再去研究深层次的也不晚。
3、jdbc,虽然现在没有企业用jdbc做开发了,但是我们仍然要学,因为其他的持久层框架都是对jdbc的封装,而且jdbc本身的应用不难,学会写配置文件,读取,连接及常规的增删改查的操作就可以了,无需深入研究。
4、前端基础,虽然我们是做后台的,而且现在很多都是前后端分离了,但并不能只会java,前端的常规操作也是要会的,毕竟我们在学习过程中是没有前端和我们对接的,从页面到后台到数据库都是自己在做,其中JavaScript和jQuery我建议不要把重点放在JavaScript上,为了简便 快速开发用jQuery会方便很多。
5、jsp,servlet,学javaweb的都要学的 这里就不过多解释了,尤其是servlet。
6、mybatis,前面说了jdbc是底层的,mybatis就对jdbc进行了封装了。mybatis是一个半自动的orm框架,常用的还有hibernate,建议先学mybatis,hibernate学习成本较mybatis要高,具体封装了有哪些好处可自行查资料,这里就不一一列出了。
7、spring和springmvc,现在企业级开发中流行的框架,虽然现在Springboot越来越流行,不需要你自己配一个框架,但是spring的IOC,DI,aop还是不得不学的,而且懂得了springmvc后 知道整个框架工作流程和原理,有益于自己解决问题。
8、maven,maven的核心是pom,英文是Project Object Model,翻译成中文就是项目对象模型,咱们java中说的一切皆对象在这里maven把项目也当成一个对象来管理了。相比于我们做一个动态web工程,构建项目要方便得多。
9、Springboot,Springboot相比于我们自己配一个框架减少了大量的xml配置,用起来非常友好,有一种开箱即用,拎包入住的感觉把重心放在了业务上。
10、Git:世界上最先进的分布式版本控制系统,建议所有初学者从命令行开始使用 Git。如果以上的都学完并且能应用,能做出一个小项目了 那就算入门了,接下来可以学学Redis,Dubbo,zookeeper,Linux等等拓展自己的技术,或者是把前面我讲的技术深入研究下,技术的深度和广度都很重要,可以自己选择。
二、怎么学
1)就个人而言,我是不喜欢看书的,给我本书我都很难坚持看完,更不要说是技术的了。所以我建议大家通过看视频来学。视频大家可以在网上找找,即使是花费的也比去培训机构1万多两万多要少很多。按照我上面讲的流程分别找课程一步一个脚印的学
2)然后就是加java的交流群,这些群里面讨论技术一方面是有可能会给你解答疑惑,第二是可以得到很多资源,打个比方新手刚开始下载jdk 下载mysql可能都有难度。独学而无友,则孤陋而寡闻,多跟比人交流有助于自己的学习。
3)遇到问题,尤其是核心的或者是在一个流程体系内的,一定要搞懂,不要搁置了,无论通过什么渠道。当然你能找到一个师傅是最好的,如果没有熟人当师傅那就靠自己吧,等你们会开发了你就会发现,任何问题在你努力后都是可以解决的,问题没有办法多。而且你在进企业前就已经有了相当高的解决问题的能力,有助于在在企业里立足。
三、学了呢
1)基本的一个体系都学完了,就需要做大量的笔试题了,毕竟咱们之前学的都是实操,理论的还是要知道的。大家可以学习一些原理,还要练习下算法题,设计模式等等。
2)咱们的目的是赚钱,所以笔试练得差不多了当然是就业,那么就业选择的话对于不同的教育背景不同,重点大学的可以选择往大企业毕竟大的平台可以得到更专业的学习。也有助于下一次跳槽。对于不是重点大学的也要努力去大一点的企业,如果去不了就去小企业也可以的,去大企业的人薪资不一定比你在小企业高,重要的是能有一个练手,提高自己的机会,等你的技术更加NB,更加成熟了 你的选择才更多。开发工具工欲善其事,必先利其器,以下是我推荐的一些开发工具:eclipse,虽然很多人推荐用idea,idea确实好,这个我不得不承认,但是咱们得看条件,对于新手而言,尤其是自学,idea对新手是非常不友好的,不易上手,就好像我推荐大家先学mybatis而不是hibernate一样的,咱们得看当前自己的条件,不能别人说好就好,等你们学会了用eclipse了再学习用idea也不迟,不是不学,而是有一个进阶的过程,你能力强当然可以直接着手idea。
Java常用框架
spring:Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。
Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
struts:struts是开源框架。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。
MyBatis :MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
JPA:JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
学这些框架一定要知道,为什么用这些框架?各自的实现原理,优缺点。学习框架就是使用这些框架去做一个系统而不是看书。
先会用,在去学,否则看了也是一知半解。找个带框架的项目,跑起来,照着里面的功能重新实现一遍,顺手了在看文档、看书等。
SpringMVC+Spring+Mybatis SSM 整合+实战+源码
Spring本质上就是放很多变量的集合
SpringMVC本质上是对原先的servlet的封装,因此实现的也就是servlet的功能
Mybaits就是把本来需要自己书写的连接数据库的语句和内容,现在直接可以调用就实现了,而不用自己一句一句去书写
业务请求流程图如下:
自己可以梳理出来一个ssm框架配置文件,通用的那种,这样用起来就会比较方便。
数据表就是根据实体类设计出来的