后端学习日记1--Spring安装与第一行代码

使用教材:

序幕:概念性的知识

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个帖子才搞定

【问题记录】无法解析插件 org.apache.maven.plugins:maven-site-plugin:3.12.1_unresolved plugin: 'org.apache.maven.plugins:maven-CSDN博客

结果我一点,发现里面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现粘代码的

我大概能猜到这些是为了更高的性能要求准备的,至少不是我这种轻量级项目用得到的

那我们看看学习完以后能对我编程有什么帮助吧

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值