使用教材:
序幕:概念性的知识
1.本书的内容涉及面非常广,囊括了 Spring 家族中的众多产品
2.GitHub - digitalsonic/learning-spring-samples: 《学透Spring: 从入门到项目实战》代码示例
3.随着 Spring 家族日益壮大,Spring 这个名字的含义也在发生着变化。早期的 Spring 仅指代 Spring Framework,后来基于 Spring Framework 孵化出了大量的项目,Spring 的 含义变成了指代 Spring 家族。为了避免理解上的歧义,本书也按后者进行表述,大部分 情况下不会将 Spring Framework 或其他任何特定项目缩写为 Spring
4.你听得特别多的是Spring Boot,是其中一个主要成员,Spring Boot的特性有起步依赖和自动配置,听不懂,用到的时候再来说
6.SpringCloud是一系列模块的集合,它构建在 Spring Boot 提供的各种功能之上,例如用到了起步依赖与自动配置,二者版本有一定依赖关系。还有Spring Data啥的。
第一章:配环境配环境配环境
IntelliJ IDEA非常方便,可以直接使用Spring Initializer新建项目~
但是最近Spring Boot更新到3.x.x了,需要JDK 17以上才能用;老版本支持JDK1.8+,但是它只给了还在维护期的选项,所以最后选择了3.3.1版本的Spring Boot,以及JDK 17, 项目管理选择Maven
教材建议我安装两个插件: Maven Helper和Lombok
创建完以后……
噫,我以为IDE什么都会给的,所以我跳过了教材的Maven安装,结果报错了【0.5 >> 5】
对了,我会用橙色符号标记百度这个问题花了多久,跟着答案解决问题花了多久,然后给一个十分满分的评级,如果答案好找但看到一半发现它不一样,就会去到处排查,于是第二项时间会变长
这个问题0.5秒出答案但是看了n个帖子才搞定
结果我一点,发现里面apache里都没有maven……
噫!于是我点了下已捆绑,重启发现只剩只有一个报错了:spring-boot-maven-plugin
我又找了很久答案,越来越怀疑人生,要不我自己装一个算了……
结果继续点了下已捆绑的maven,保存,重启一看报错没有了……
总结:万事开头难这句千古名言的含金量还在上升
第二章 hello world + 一万年的报错
跟着教材尝试加一段hello world
不报错不能玩是吗?(1.5 >> 8.0)
我反正是什么网站都翻了,我错了,我再也不跳过教材了,真的不如自己去安装maven然后改个镜像,就不用在这浪费五十分钟了,唉
这里面主要的原理是:
1.IDE有缓存机制,这个通过清除缓存重启再看看
2.maven可能没有使用国内镜像,所以后台没有下完整
终于如愿以偿
这里我联想到以前用127地址也能代替这个localhost,于是百度一下其含义,是否是代指全部本地回环地址?
并非如此,通常是绑定给127.0.0.1,我想起在做一个作业的时候,修改了这里的host,改了localhost,于是可以绑定给别的。
哟,浏览器还存着我当初用AI绘图模型的记录,端口是7860,而这里是8080,我觉得有些熟悉,80是http……百度---是代理端口,怪不得,抓包软件也是这个端口(本地代理捕获流量)
说是没有明确的映射(现在记住了mapping = 映射)
我寻思着我代码没敲错啊,然后才发现教程里还需要一个/helloworld,这才恍然大悟,
注解里的那个/helloworld是代表路径,所以网址也是加一个路径,按照这个猜想,我直接改动一下:
对了后来发现还要把默认的这个注解改成这个
我粗心了,因为代码被隔成两页,我就没管第一个注解具体是什么,于是恶补:
开发RESTful API 时,一般都会在Controller上加上@Controller注解,但是有时候加上@RestController,当同事问为什么的时候,我也一脸懵逼,默默的看了资料,现在就说说他们的区别。
@RestController注解等价于@ResponseBody + @Controller。@RestController和@Controller的共同点是都用来表示Spring某个类是否可以接收HTTP请求,二者区别: @RestController无法返回指定页面,而@Controller可以;前者可以直接返回数据,后者需要@ResponseBody辅助。
唉,此时已经5:20了,我是什么踩雷小能手吗,还是我身上有吸铁石
我也用过python的flask框架,当时几行代码就跑出一个小server,比这个方便多了……
顺便学一学它们的区别吧
Spring Boot 主要用于构建 Java 企业级应用,MyBatis 主要用于数据库访问和操作,而 Flask 则是用于构建 Python Web 应用程序的轻量级框架。
Flask 设计简洁,易于上手,但又提供了足够的灵活性和扩展性,使开发者能够快速构建各种规模的 Web 应用。
Flask 遵循最小主义的原则,它没有强制性的目录结构和模板引擎,开发者可以根据自己的需求选择适合的工具和库来构建应用程序。
Flask 适用于构建小型到中型规模的 Web 应用程序,尤其适合快速原型开发和轻量级的服务端应用。
确实轻
第三章 看看……
啊?
你说得对但是我一直只听过缓存,中间件的词语;数据库我也只会一点点命令还没深入学习,我第一个python全程if else,写了六百多行也没用到什么sql,数据库就是txt工程,异常处理是手动重启的,日志功能是完全没有的,部署服务器或者开个server也是chatgpt现粘代码的
我大概能猜到这些是为了更高的性能要求准备的,至少不是我这种轻量级项目用得到的
那我们看看学习完以后能对我编程有什么帮助吧