刚学 Java 后端一个月,我踩过的那些坑

作为一个刚入行的小白,踩坑已经踩麻木了,我总结一下,我错过很多遍的东西,只是一些基础,并没什么太多技术


一、先说说我对「后端」的理解以前刚学编程时,总觉得后端特别高深,天天听别人说分布式、高并发、微服务、集群架构,以为一上岗就得写各种高大上的底层代码,心里又慌又虚。真入行写项目才发现,大部分日常工作,根本没那么玄乎。后端说白了,就是给前端、小程序、APP 当数据搬运工 + 处理员:别人传几个参数过来,你接收一下;需要数据就去库里查一查;要新增、修改、删除就操作数据库;有逻辑就简单算一算、判断一下;最后按固定格式返回去。一进一出,就是后端最核心的工作。别一上来就被各种名词吓住,也别觉得只会增删改查很丢人。刚入行,把这几件事扎扎实实干明白,比啥都强:

  • 把增删改查写稳,别查错表、改错题
  • 接口写规范,参数、返回值清清楚楚
  • 异常处理到位,别动不动就崩给用户看
  • 日志打全,出问题能快速定位
先把地基打牢,再去碰那些高大上的架构。路是一步一步走的,先把最普通、最实用的东西吃透,后面再学分布式、高并发、微服务,才知道它们到底是为了解决什么问题。


二、Maven 我真的被坑惨了Maven 就是个包管理工具,你不用自己去网上下 jar 包,写个配置,它自动帮你下、帮你管理版本。怎么用:1. 在 pom.xml 里写依赖 2. 点刷新,等它下载 3. 用的时候直接 import。我踩的坑:依赖版本不兼容,项目启动就报错,我还以为代码写错了;网络不行,下载一半失败,然后一直报错,解决办法就是删本地仓库对应文件夹重新下;依赖重复,或者 scope 写错,比如把 provided 写成 compile,上线就炸。我的理解:Maven 就是帮你管 “零件”,零件不对、版本不对,机器绝对跑不起来。

三、Spring Boot 启动类别乱动。是什么:就是项目的入口,一运行,整个项目就活了。怎么用:加个 @SpringBootApplication,放在最外层包下。坑:我一开始把启动类放内层包,结果 Controller 扫不到,接口全部 404,查了半天才知道:默认只扫启动类同级及子包。我的理解:启动类就是总司令,站得高,才能管得住下面所有小兵。

 
四、Controller 就是 “接电话的”。是什么:接收前端请求,调用 service,返回结果。怎么用:@RestController、@RequestMapping / @GetMapping / @PostMapping。坑:忘记加 @ResponseBody,返回页面不返回数据(现在用 @RestController 基本不会犯);请求方式写错,Get 接口用 Post 调,直接报错;路径多写个 / 或少写个 /,404。我的理解:Controller 就是门卫,谁来访问、访问什么,先在这拦一下,再交给后面处理。
 
五、Service 别写得跟 Controller 一样。是什么:写业务逻辑的地方,别把 SQL、判断全塞 Controller。我以前的错误:所有逻辑全写 Controller,一个方法几百行,自己后来都看不懂。现在的写法:Controller 只负责接收参数、调用 service、返回结果;Service 负责判断、计算、调用 mapper;Mapper 只跟数据库打交道。我的理解:三层架构不是装逼,是以后改代码不发疯。
 
六、MyBatis/MyBatis-Plus 坑真的多。是什么:跟数据库对话的工具。我常犯的错:1. SQL 写错,少逗号、字段名打错、where 没写,直接报错;2. 参数名不对应,#{} 里面写的跟传进来的对不上,查不出数据;3. 更新忘记加条件,一不小心 update 全表,测试库数据直接没;4. 结果集映射不对,数据库下划线,实体类驼峰,没开配置,查出来是 null。最重要一条:增删改一定要加事务,一定要测试,千万别在线上库随便跑。
 
七、接口调试别瞎猜,用 Postman。我以前写完接口,直接让前端联调,前端说调不通,我还以为前端的问题,结果全是我自己的错:参数类型不对、字段名不一样、接口没启动、路径错了。后来老老实实用 Postman 自己测通,再给别人,效率高太多。
 
八、日志别只用 System.out.println。刚写代码我全是 System.out.println,上线之后根本找不到问题。现在老老实实:log.info() 打关键流程,log.error () 打异常,一定要把错误信息、入参打出来,不然出问题你只能瞎猜。
 
九、给刚入行的自己几句实话:别一上来就想学全,越学越慌;报错先看第一行异常,别从头翻到尾;代码能跑不代表完事,要简单、清晰、好改;遇到问题先百度、先看报错信息,别直接问人,问也要把问题说清楚;每天写的东西,晚上花 10 分钟总结一下,比盲目敲一天代码有用。
 
结尾:我现在还是很菜,还在天天踩坑,但至少知道自己在学啥、为啥这么写。后端没那么玄乎,就是一步一步踩坑、一步一步搞懂。后面继续更我踩过的真实坑,不搞理论,只讲能用的。
posted @ 2026-03-04 20:09  Guang2005  阅读(1)  评论(0)    收藏  举报