Java小白一个,可以直接学习SpringBoot来做毕设吗?

Posted 黑马程序员官方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小白一个,可以直接学习SpringBoot来做毕设吗?相关的知识,希望对你有一定的参考价值。

个人建议不要跳过SSM。

很多人想要跳过SSM直接上手SpringBoot,但是SpringBoot中自动化配置、条件注解、Java配置等东西都基于Spring的。Java配置是Spring3开始提供的,条件注解也是Spring中的内容,很多内容都是Spring就有的,只不过在SpringBoot更好用。

换句话说,你以为你在学SpringBoot相关的内容,实际上学的还是Spring里面的东西。那既然如此,还不如老老实实学Spring。

要知道,各个领域都会面临一些问题,学了一些比较优秀的封装框架之后,还有没有必要学底层?当然有必要,因为底层的东西可以让我们更深刻的理解目前所用的这些东西,不然有很多问题你是解决不了的。

假设有一天Springboot被淘汰了,某个团队又基于Spring框架搞出来一个新的框架内容,我们不是还要学一遍吗,但是掌握了Spring的各种用法,无论上层怎么变,底层内容还是不变的。只要研究透了Spring的AOP、Ioc/DI,就会发现框架的东西都大同小异,核心的思想还是这些。

Java不是一直被喷繁琐吗?后来呢,SpringBoot来了,功能就是:

  • 为所有基于Spring的Java开发提供便捷入门体验。
  • 开箱即用,有自己自定义的配置就是用自己的,没有的话就官方的。
  • 提供了一系列通用的非功能性的功能,比如嵌入式服务器、安全管理,健康监测等。
  • 绝对没有代码生成,也需要XML配置。

SpirngBoot是让Java开发回归简单的,我们要知道,一个新的框架出来如果不是解决了开发的真正痛点,绝对不会广泛使用的。从2017年年初开始,SpirngBoot基本上就是面试必问问题了。

现在流行的什么SpringCloud微服务也是基于SpringBoot。

学习SSM框架

SSM框架课程分享:

SSM 框架 SpringSpringMVCMyBatis - 1. Spring 简介-Spring 是什么https://www.zhihu.com/education/video-course/1483149993993678849

在Java框架之前需要掌握:

Java基础、Java语法进阶、mysql基础操作、MySQL数据库设计和多表操作、JDBC、Maven基础、MyBatis、HML+CSS、javascript、HTTP协议、Web服务器-Tomcat、Servlet、请求和响应\\JSP&会话技术\\ElementUI

学习框架的思路

我们下面以Spring框架为例,要先学习Spring框架设计思想

为什么Spring能快速占领全球市场,不仅仅是因为某个功能强大,更重要的是思想。

其次是学会基础操作,这里要进行思考,操作与思想之间的联系。

最后是学习案例,熟练应用操作的同时,体会思想。

基础学会了就需要大量的案例熟练掌握框架的具体应用,加深对设计思想的理解。

比如Spring学习主要包括四个部分:

  • Spring的IOC/DI
  • Spring的AOP
  • AOP的具体应用,事务管理
  • IOC/DI的具体应用,整合Mybatis

其他框架也有主要需要学习的部分,大家可以看上述课程对照下面笔记。我们知道Spring最难的部分就是各种配置相关文件等,光看视频就比较容易出错,所以黑马程序员给流程都都梳理出来了,避免降低错误视频+讲义,对照操作:

学习Java框架的书籍

Spring源码深度解析》《Spring揭秘》《Spring技术内幕》;

一套课程下来之后,大家还要深入学习,可以选择看书,毕竟书降低了我们读源码的难度。当然,想要挑战的同学们,可以去读框架源码

  • Spring框架源码的时候,先熟练掌握框架。
  • 其次是Java相关的内容,比如:集合框架(数据结构的实现),多线程技术(线程池、线程安全、并发容易等)、反射与注解(Spring中大量的使用到了反射)、面向对象(面向对象不仅仅值得是对象抽象,还包括对象集成、多态等各种机制)。以及Java一些高级特性,如基于Java接口的动态代理
  • 设计模式:Spring中大量使用了各种设计模式提高其健壮性,因此对于设计模式需要一些深刻的理解。

学习SpringBoot

学什么呢?

  1. 最基础的当然是 Spring/SpringMVC 相关的东西了。
  2. 搭配各种页面模版的使用,例如 Jsp/Thymeleaf/Freemarker/Groovy Templates 等。
  3. 和各种 SQL 数据库的整合,以及一些常见的数据持久化框架,例如 JdbcTemplate、MyBatis、Jpa 等。
  4. 和各种 NoSQL 数据库的整合,例如 Redis、MongoDB、Elasticsearch 等。
  5. 搭配安全管理相关的知识点,例如 Spring Security、Shiro 等。
  6. 缓存的使用,例如 JCache、Ehcache 等。
  7. 和消息中间件的搭配整合,如 ActiveMQ、RabbitMQ、Kafka 等。
  8. 数据校验/定时任务/邮件发送等。
  9. 各种监控的使用。
  10. 结合 WebSocket 的使用。
  11. Spring Cloud 中相关组件。
  12. ...

上面只是列出来的常见的技术点,每个技术点可以延伸很多东西,其实里面还会设计了第三方框架。例如 Redis、MongoDB、RabbitMQ 等,Spring Boot 的出现只是让这些组件在和 Spring 家族的产品整合时变得更加方便,但是并不会简化这些组件原本的用法,所以,该学 Redis、该学 MongoDB、该学 RabbitMQ 等等,还是一个不能少。以 Redis 为例,学会了 Redis,学会了 Spring 整合 Redis,再回过头来看 Spring Boot 整合 Redis,那简直太 easy 了。

但是,学习SpringBoot最终我们还是要奔着快速开发和微服务去的,所以像Docker、Spring Cloud等技术也需要了解一下。

怎么学呢?

Spring Boot 发展到今天,网上的资料和图书现在是越来越多了。在看资料学习的同时,大家也要留意以下几个点:

  1. 多看源码。不同于其他全新的框架源码你可能会看懵了,由于 Spring Boot 是基于 Spring 的,所以只要你 Spring 基础扎实,看 Spring Boot 源码可以说是毫无压力。如果看 Spring Boot 源码觉得有压力,那可能你 Spring 基础不牢靠,这个时候不妨放下 Spring Boot,去复习下 Spring。
  2. 每当学会 Spring Boot 中的一个知识点,不妨想想这个功能在 Spring 框架中要如何使用,如何配置,两边都搞懂了,互相印证,加深对一个知识点的理解。
  3. 多多关注 Spring Boot 的发展动态。不同于传统的框架可能一年更新一两次,Spring Boot 更新非常频繁,二次每次更新都会带来一些好玩的东西,可能会有新的 API 加入进来,也可能会有旧的 API 失效,变化大,因此多多关注,避免掉坑。

课程和笔记分享

SpringBoot2 全套讲解(2021) - 1. 课程导学​https://www.zhihu.com/education/video-course/1483149994097741825

springboot应该怎么学?https://www.zhihu.com/question/552565596/answer/2671921264

以上是关于Java小白一个,可以直接学习SpringBoot来做毕设吗?的主要内容,如果未能解决你的问题,请参考以下文章

小白入门之Hello SpringBoot

Java小白入门200例85之为什么使用向上转型而不直接创建子类对象

小白学习JVM--概述和模型

小白入门SpringBoot极简教程开篇

spring boot 学习

springboot:基础学习一 linux下后台启动springboot项目