java工程学习步骤
1、安装idea,安装maven,mysql数据库
2、创建一个多maven的springboot的项目,可以正常启动以及可以访问web页面
3、引入日志使用slf+logbck进行日志打印,同时封装统一的日志打印工具,idea安装maven analyzer工具,需要排日志的包,因为启动的时候会一直报错,找不到绑定的slf的实现类--自己一定要学会排包(非常重要)
4、开始写统一的门面服务,主要简单的注解校验、回调模版,统一日志打印,异常捕获,接口限流,灰度切流,分布式锁-先把简单的几个功能完善 然后在一步一步的补充能力
注解校验:使用javax接口,实现hibernate-validator,注意pom引入的jar包需要完整,否则会在运行的时候异常
日志打印:打印入参数、出参数、耗时、成功失败用于业务统计
5、安装mysql软件,可以直接下载mysql.dmg现在本机上进行安装,后序有时间在使用docker启动一个mysql的镜像,进行多机器的访问,先把数据库安装好,然后与springboot项目结合
6、学会使用mybatis的orm框架进行数据库的访问,了解jdbc被封装的原理,最简单的封装就是Springjdbc的封装,很好使用;同时还要学会使用mysql的客户端,直接页面创建表结果;同时使用开源的代码生成工具进行代码生成;springboot与数据库连接池进行融合进行数据库的访问。
7、springboot 与mybtais结合使用是最广泛的使用,可以最原始的手动写,也可以使用代码自动生成dal层的代码。都需要尝试使用。
8、使用切面针对数据库层进行日志的打印,成果:就是封装统一日志打印,无论是数据库,外部调用,消息,定时任务,接口的日志打印统一使用日志打印模块,然后支持不同场景的扩展(实现的一个小组件的扩展)
9、必须要掌握spring事务的传播特性,这样在操作多个sql的时候,才知道使用哪个传播的特定。数据库的隔离级别是数据库本身提供的。事务的传播特性是spring提供的,要搞清楚这些区别代码写的才能健壮
10、如何生成唯一的traceid需要调研一下??
11、数据库的唯一不重复的随机值需要调研一下??