写点什么

Android 程序员的 Java 后台学习建议,2021 最新 Android 中级面试题目汇总解答

用户头像
Android架构
关注
发布于: 刚刚

了解下有利于消化


这里快速说下 Java Web 开发的背景,作为 Android 开发,在学习后台开发


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


上无疑用 Java 做敲门砖是成本较低的选择,Java Web 与 Android 之间的相互转岗也屡见不鲜。


起初的 Java Web 开发并没有明确的前后端之分,如今也依旧存在前后端不分离的项目,只是随着时间发展,从项目管理维护、开发职责和效率的考虑下,慢慢的有了前后端职责之分。


对于 Android 开发而言,后端通俗而言就是写 restful 接口的。


Java Web 大致发展历程如下图,从 Struts2 开始的 MVC 模式,再到 Spring控制反转(IOC)和切面编程(AOP) ,再到 SpringBoot 全家桶,其门槛也在逐步降低。对于这个历程感兴趣的可以自行了解下,后续主要推崇Spring 大家庭。



事实上对于 Android 开发而言, Spring 并不会是一个陌生的概念,其 核心理念之一 IOC (也称依赖注入) 和使用逻辑与 Dagger 如出一辙,所以在入门时 《Spring 实战(第 4 版)》 这本书相信会 Android 开发者是不错的选择。

二、框架选择

Spring Boot 全家桶快到碗里来


Java Web 的世界同 Android 一样存在各类框架,也许一些前辈们都建议不要从学习框架开始,但是我个人而言更习惯从_实用性_切入: 选择一个主流框架学习,挑一个开源项目对照实践,之后完成一个小项目躺坑,最后才开始深入去学习感兴趣的点。 毕竟万事开头难,如果一开始太过枯燥,难免让人“把持不住”。


在 Spring 断断续续的学习中,主要接触了 SSH (曾经) 和 SSM (如今) 两种组合开发框架,至于怎么选择,你懂的。


  • SSH:Struts2 做控制器(controller) + Spring 管理组件 + Hibernate 负责数据库。

  • SSM: SpringMVC 做控制器(controller) + Spring 管理组件 + MyBatis 负责数据库。


作为 Android 开发者,如果你使用过或了解过 Dagger ,那么理解和使用 Spring 并不难。通过各类注解如 @Contorller@Service@Configuration 等去标明类的用途,通过 @Autowired 去注入使用的方式,相信会让你倍感亲切。


如果说 Spring 是类似 Dagger注入和管理实体的容器框架,那么SpringMVC 就是基于 Spring 功能之上添加的 Web 框架。


对于 Android 开发而言,MVC 肯定是不会陌生的,实际上后台开发人员通常就是写个Controller 提供个 Model 给你。而 HibernateMyBatis 都是持久层框架,属于能方便使用如 MySql 等数据库的 ORM 框架。



如果说 SpringSpringMVC 是 Android 开发者较友好的选择,那么 Spring Boot 则是你的“绿色通道”。 Spring Boot 又称之为全家桶,因为它集齐了各类常用的开发框架,同时降低了 Spring 开发的门槛,更是简化了各种配置过程,而且 Jetbrains 大家庭支持它!


所以现阶段而言,个人认为 SpringSpringMVCSpringBoot 是 Android 开发者学习入门 Java Web 的不错选择。


先理解 Spring 设计模式,再学习 SpringMVC Service/Controller 等的开发,最后使用 SpringBoot 快速搭建 Web 项目。 当前这只是一个开始,后续的路诸如还有:


  • 数据库的学习:mysql、mongodb

  • 持久层框架的学习:hibernate 、mybatis

  • 缓存框架的学习:ehcache、redis

  • 安全权限框架的学习:shiro、spring security

  • 分布式框架的学习:dubbo、spring cloud

  • 代理服务:Nginx

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
Android程序员的Java后台学习建议,2021最新Android中级面试题目汇总解答