前言

以Java后台开发为目标:

拥有的技能:

  • 一年半iOS客户端开发经验
  • 只会C系语言(C、C++、Objective-C)
  • 研究生方向:C程序静态分析

缺失的技能:

  • Java
  • Java Web相关基础知识

现状:完全没有接触过后端开发,甚至连Web后端和APP后端的区别也不知道。

目标:移动客户端后台开发

基础入门

路径

1.一篇博客Java 后端自学之路
大概了解需要掌握些什么知识:

  • Java基础
  • Web基础
  • Web主流框架有哪些:SSH已经过时,现在用SSM(Spring、Spring MVC、MyBatis)
  • Web框架进阶:Spring Boot、Spring Cloud

2.App后台开发运维和架构实践
介绍了后端开发的基础知识,一天的时间看个大概(不是细读):

  • APP后台的功能
  • APP后端与Web后端的区别
  • 从业务逻辑提炼后端API的整个流程
  • APP后台的核心技术点
  • APP后台架构剖析(聊天APP、社交APP、LBS-APP、推送)
  • APP后台架构的演进

3.Java工程师修炼之道
首先只看这几章:

  • 第一章 后端技术导言
  • 第三章 开发框架
  • 第六章 数据通信

4.一种适合创业公司的技术架构方案

总结

大概看完以上所罗列的知识点,就对后端开发的整体知识体系有了一定的了解。

Web后台和APP后台的区别

只是返回的内容,本质是一样的。

后台基本架构

1.应用代码结构:
框架结构图
MVC框架常用的有:

  • Struct1
  • Struct2
  • Spring MVC
  • Jersey

Ioc框架常用的有:

  • Google Guice
  • PicoContainer
  • Dragger
  • Spring Framework

ORM框架常用的有:

  • Hibernate
  • MyBatis

Log框架常用的有:

  • JDK Logging
  • Apache Log4j
  • Apache Log4j2
  • Logback

2.部署架构:
对于Web应用来说,LVS+Nginx+Tomcat+MySQL+Redis即可构成一个简单、通用的部署架构。
Web应用简单部署架构

以及这篇博客: [后端技术架构方案]

这两者中Tomcat部分的内容就是上小节[应用代码结构]的中间部分。

Spring、Spring MVC的区别

回答1:
Spring可以说是一个管理bean的容器,也可以说是包括很多开源项目的总称,spring mvc是其中一个开源项目,所以简单走个流程的话,http请求一到,由容器(如:tomact)解析http搞成一个request,通过映射关系(路径,方法,参数啊)被spring mvc一个分发器去找到可以处理这个请求的bean,那tomcat里面就由spring管理bean的一个池子(bean容器)里面找到,处理完了就把响应返回回去。经常看到写个springmvc的controller里面有个注解service吧,看起来不像类属性吧?spring的ioc功能就可以把这个sercice插进去(反射)~当然具体过程好复杂的,这只是个大概的大概~

回答2:
Spring可以说是一个管理bean的容器,也可以说是包括很多开源项目的总称,spring mvc是其中一个开源项目,所以简单走个流程的话,http请求一到,由容器(如:tomact)解析http搞成一个request,通过映射关系(路径,方法,参数啊)被spring mvc一个分发器去找到可以处理这个请求的bean,那tomcat里面就由spring管理bean的一个池子(bean容器)里面找到,处理完了就把响应返回回去。经常看到写个springmvc的controller里面有个注解service吧,看起来不像类属性吧?spring的ioc功能就可以把这个sercice插进去(反射)~当然具体过程好复杂的,这只是个大概的大概~