今天本来想和大家说一下spring中bean的创建过程和生命周期的,可是因为项目重构过程中遇到好多的问题,卡来卡去,所以想和大家分享一下今天遇到的坑,希望大家可以少踩坑。
项目场景:因为maven项目启动太笨重了,每次启动都需要好久的时间,还有项目中很多依赖都是不需要的,可是因为历史遗留问题一直都不能很好解决这个问题,所以这次趁改架构的机会一起优化了。所以将项目app请求层一个服务,业务请求一个服务。前者是给app客户端http请求用的,后者是给请求层RPC调用的。因为刚开始不敢大改,所以只是将普通的maven项目改为springboot项目,还是传统的dubbo模式RPC调用。
下面开始将架构重组遇到的坑(编译器是IDEA):
坑1:函数注解@Override爆红@Override is not allowed when implementing interface method
坑2:Error:java: Compilation failed: internal java compiler error
坑3:Cannot instantiate factory class: org.springframework.boot.autoconfigure.AutoConfigurationImportFilter
解决办法:去掉properties中spring.version
坑4:org.apache.ibatis.annotations.Mapper包依赖不了
解决办法:去掉org.mybatis依赖
坑5:redis配置文件一直不生效
解决办法:application.yml格式对齐
坑6:因为引用数据库相关的依赖,结果没有进行相关配置,启动报错。
解决办法:springboot启动类加上(exclude={DataSourceAutoConfiguration.class,})即可
坑7:开发环境的配置文件中写上域名,结果本地host文件没有进行相关的映射,导致找不发这个ip。
解决办法:通过SwitchHosts工具进行host映射
坑8:各个项目之间的依赖写错,导致循环依赖。
解决办法:将maven项目进行层级依赖,将关系写明白。
其它更多的坑。。。。。。。。未完待续
想要更多干货、技术猛料的孩子,快点拿起手机扫码关注我,我在这里等你哦~