Java自学该如何入门? 点击:682 | 回复:1



凌阳教育嵌入式

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:303帖 | 0回
  • 年度积分:0
  • 历史总积分:746
  • 注册:2017年1月19日
发表于:2017-03-31 17:48:47
楼主

  如果当你选择Java这门课程的时候,你想好了自己该从何学起吗?尤其是哪些零基础的,在你们入门之后,你是可以考虑考虑以下的学习路径和内容的,凌阳教育的老师之前也说过,哎,反正一句,坚持不懈,努力前进。


  1、学习的基本路径


  首先我们应该要建立好开发环境,这是比较重要的,工欲善其事,必先利其器。不管做任何开发,首先就是要把这个环境准备好,之后便可以去做各种尝试,尝试过程中你就能逐渐建立信心了。对于初学者而言,往往都是在环境配置中被各种预想不到的问题表示很沮丧。


  建立起来环境了,改变世界就靠你的代码了。学习一门编程语言没有太多的诀窍,你可能可以去找一本比较好的经典的入门书籍,现在网络上也有非常多的资料,图文或者视频都可以,根据个人喜好选择。最重要的练习,熟能生巧,在不断的练习中去加深自己对程序语言的理解。


  接下来你需要了解这三个术语,叫SDK、API跟Lib,分别表示软件开发套件,应用编程接口和库。这三者之间其实有一定的联系,或者是交叉。总体来说,它们都是给我们提供的一些封装了底层功能的基础设施。做Java开发的话,这些东西通常体现为我们所经常说的“框架”。事实上要成为一个资深的Java开发者,对各种API和框架的学习,可能是花时间最多的一个地方。


  当然你也不可能把所有API或者SDK种的所有内容完全弄懂。在软件开发中也有二八原则,少数的API能够胜任开发中的大部分场景。所以你只需要掌握这些关键部分,当在新场景下遇到不能解决的新问题时,再去查看帮助文档。所以帮助文档的阅读也是技术学习的一个关键因素。了解了基础原理之后一般就能上手开发了,帮助文档可以帮助你在实践中学习。


  2、三个神器


  三个神器,对于软件开发者来说非常重要。


  第一个Google,虽然因为各种原因的话有时候我们访问不了,但是这基本上是可以去寻找技术资料最好的方式。


  第二个是Github,之前提到过库的概念,Github就是一个可以找到大量第三方库的地方,那是别人给我们封装好的可以复用的代码。比方说造一辆汽车的话,我们经常不要自己造轮子,而Github上可以找到很多优质的轮子,这些轮子还是免费(代码都是开源的),我们应该尽量利用它们来拼装自己的汽车。


  第三个是StackOverflow网站,在这个问答网站上你遇到的几乎任何开发问题都能快速找到答案。


  3、Java Web全栈开发的推荐学习内容


  简单总结一下,大概包括下面这些内容。每一部分都可以细化成很多知识点,这只是一个粗略的罗列。把它当做技术地图就好了。


  开发环境的建立与项目管理:Eclipse、Maven和Git


  Java编程基础:基本语法、面向对象特性、Java8新特性、更高级库(比如Guava)的使用等


  前端开发技术:HTML、CSS、Bootstrap和JavaScript基础


  Spring基础:依赖注入IoC、面向切面编程AOP、SpringBoot


  MVC框架:Spring MVC、Struts等,包括URL路由、模板、表单、Session、拦截器等知识


  数据访问:关系型数据库、JDBC、Spring JDBC、事务、ORM框架(MyBatis,Hibernate、JPA)


  成熟应用的关键功能实现:邮件发送、异步任务、缓存、日志等


  应用的测试和部署


  下面对每部分的内容详细介绍一下。


  4、JSP/Servlet的相关内容


  虽然现在各种成熟的MVC框架已经让Java Web开发基本很少使用JSP和Servlet的原生功能了,基本都做了一层封装。但是这部分基础知识建议初学者还是要认真学习。


  Web基础,HTTP协议


  C/S模型,浏览器访问网站过程


  URL基础知识


  HTTP消息——请求和响应


  处理HTTP请求的应用程序


  Servlet/JSP简介


  Servlet


  Servlet容器,Servlet处理机制,Servlet生命周期


  部署Servlet


  ServletContext, ServletConfig


  Filter, Event Listener


  JSP


  表达式,scriptlet, declaration


  在JSP中访问Java类


  JSP内置对象


  处理用户输入


  HTTP方法——GET v.s. POST


  读取表单数据


  构建MVC应用


  Servlets/JSP存在的问题


  MVC设计模式


  使用RequestDispatcher


  在Servlets和JSP中传递数据,EL表达式


  使用JSTL作为模板


  JSP Tag Lib


  Core Tag(if, loop)


  Function Tag(string, fmt, utils)


  Session


  Session&&Cookie基本概念


  通过Cookie记录用户状态(类似购物车的例子)


  使用Session跟踪用户(登录)


  5、数据库相关的内容


  掌握了Servlet/JSP技术,我们已经可以创建动态的Web应用了。除了动态的Web界面,一个有价值的Web应用必然需要进行数据存储,开发上我们一般称之为数据持久化(Data Persistence)。


  从业务功能的角度出发,简单的应用可以认为就是数据的增删改查。比如一个产品级的博客应用,最核心的功能就是对博客内容的创建、修改、删除和查询,而这些功能都离不开Web服务器背后的数据库系统。


  数据库基本概念


  实体、关系(表)、记录(行)、列(属性)


  主键、外键等


  数据库表设计的基本原则


  SQL基础


  MySQL基本使用


  SQL中的DDL——create,drop,alter,建立主键外键等约束


  SQL中的DML——insert, select, delete, update,join


  JDBC


  数据库连接,连接池


  使用JDBC API访问数据库


  分页查询


  事务的基本概念


  JDBC代码的封装与数据访问的三层架构


  6、Spring相关的内容


  Spring最重要的两个核心功能是依赖注入(DI,Dependency Injection)和面向切面编程(AOP,Aspect Oriented Programming)。其中DI用于管理Java对象之间的依赖关系,AOP用于解耦业务代码和公共服务代码(如日志,安全,事务等)。DI和AOP能够让代码更加简单,具有良好的松耦合特性和可测试性,极大地简化开发。理解这两者是使用Spring框架的基础。


  Spring的核心思想


  依赖注入


  面向切面编程(AOP)


  基于POJO的编程模型


  预置的模板代码(如Spring JDBC)


  依赖注入的基本原理


  依赖注入的优点


  依赖注入如何实现


  依赖注入的使用


  基于XML的装配方式


  基于Java Configuration的装配方式


  自动装配


  多种装配方式的混用


  处理装配的歧义


  如何注入属性值


  Spring Bean的作用域


  Singleton


  Prototype


  Request


  Session


  Global


  AOP


  切面、目标对象、切点、通知、织入等基本概念


  如何定义切点:定义切点的aspectJ语法


  定义通知


  前置通知(Before)


  后置通知(AfterReturning)


  异常通知(AfterThrowing)


  最终通知(After)


  环绕通知(Around)


  如何给切面传参


  7、Spring MVC相关内容


  Spring作为Java系的全栈(full-stack)开发框架,当然也对Web开发有着非常好的支持。Spring的Web MVC框架能够使开发者非常容易的开发Web应用,同时能够无缝享受到Spring本身的诸多好处——IoC容器、AOP编程等等。


  Spring MVC基本原理、配置


  DispatcherServlet


  WebApplicationContext


  处理HTTP请求过程


  实现Controller


  @Controller, @RequestMapping注解


  URL模板模式,@PathVariable


  获取HTTP请求参数,@RequestParam


  @RequestMapping方法支持的参数


  @RequestMapping方法支持的返回值


  视图解析


  处理静态资源


  配置JSP


  配置其它模板引擎


  重定向、Flash Attribute


  表单处理


  表单数据绑定


  Spring表单标签


  表单验证


  文件上传


  Flash Attribute


  拦截器Interceptors


  Spring MVC请求处理流程


  HandlerInterceptor接口


  配置Interceptor


  异常处理


  配置错误页面


  使用HTTP状态码


  @ExceptionHandler


  ControllerAdvice全局异常处理


  REST API


  @ResponseBody和@RequestBody


  处理PUT和DELETE请求


  8、MyBatis相关内容


  MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或标注,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录


  MyBatis基础


  ORM的概念


  如何定义Mapper接口


  如何定义XML Mapper映射


  如何使用Mapper


  MyBatis的基本使用


  SqlSessionFactory


  SqlSessionFactoryBuilder


  SqlSession


  MyBatis-Spring


  基于Spring如何配置和使用Mapper


  SqlSessionFactoryBean的配置


  MyBatis Spring Boot Starter的使用


  增删改查


  熟悉Mapper配置文件


  select元素


  select的resultType属性


  insert元素


  update元素


  delete元素


  复杂查询


  resultMap元素


  association元素


  嵌套结果与嵌套查询


  collection元素


  discriminator元素


  动态SQL


  分页查询(分页插件)


  9、设计模式


  参考Java写一套漂亮的代码,哪些设计模式比较常用?


  10、更进一步


  分布式、深入Java虚拟机、针对不同场景的Java技术框架,到这个阶段已经不仅仅是Java的学习了,而是大型应用场景的技术积累、架构设计的精进了。




楼主最近还看过



水中鱼

  • 精华:40帖
  • 求助:4帖
  • 帖子:286帖 | 3802回
  • 年度积分:0
  • 历史总积分:15037
  • 注册:2011年11月10日
发表于:2017-03-31 17:53:07
1楼

边学边练,以项目或实例为导向进行学习。


热门招聘
相关主题

官方公众号

智造工程师