IDEA创建Spring注意事项
问题1:发现没有src目录
自己在创建项目的时候,发现没有src
目录。一开始时以为是因为maven
配置问题,导致maven
创建失败,从而没有创建src目录。
但在maven配置文成后扔谈存在问题。
问题点:
我在创建maven
项目时,选择Maven Pom
,导致的没有src目录
Maven:生成整个完整的工程结构,包括pom文件
Maven POM:只会在工程目录下生成pom.xml,而没有src等等结构
问题2:Pom文件显示报错
通过IDEA创建springboot项目,但创建后迟迟无法通过maven下载spring-boot-starter-parent:3.2.4.RELEASE
版本,同时镜像下载失败。以为是阿里镜像无法下载parent
包
问题点:
本地JDK为8,但是springboot 3.*
以上版本不支持8,支持 11往上版本,从而项目报错。
问题3:在子模块使用
在开始创建maven项目时,就存在
问题点:
<relativePath>
标签表示包的路径。
<relativePath/>
则表示先本地查找,然后到远程查找,并不会向上查找Pom
文件,而且我自定义的包并没有打包。所以必然报错。
实际上我是想使用父项目的Pom
文件,完成子模块Pom
文件内容的抽离。所以删掉就行。
问题4:作为公共jar包,maven install 报错
直接用maven install
打包时,报错如下。项目创建初始jdk5
,但我后面已经进行调整了。但不知道未声明还是报错tarfget目录下文件编译问题。
问题点:
默认在maven打包时,默认是用jdk5
进行打包的,导致代码中lambda
表达式无法识别。我在Pom
中定义jdk版本就行了
<plugin></plugin>
问题5:虚拟机10. 127.0.0.1的使用
在虚拟机中使用127.0.0.1
不一定会指向虚拟机,可能会指向本机,导致在虚拟机上使用127.0.0.1
无法执行虚拟机的服务
问题5:网关配置跨域后,请求报错503
问题点:
出现503错误的原因是Gateway网关服务中会根据loadbanlance负载均衡路由到renren-fast但是缺少了对应的依赖,在Gateway服务中添加即可
问题6:启动RenRen_generator时报:循环调用
为了版本一致,将spring-boot-starter-parent
版本从2.2.6.RELEASE到2.6.5,结果启动报错。
问题点:
版本不兼容,导致jar与jar之间的调用出现循环调用问题。将pagehelper-spring-boot-starter
版本,从1.2.5升级到1.4.1
问题7: springcloud官网集成oss操作,jar下载失败
问题点:
替换jar包为
问题8: 项目启动时发现存在循环调用问题
问题点:
springboot
在2.6.0
版本开始,不鼓励使用循环调用。而我的版本为 2.6.5
刚好过线。
- 处理方式:从seviceA调用serviceB改为调用daoB,或者从serviceB调用serviceA(统一业务的处理方向)
- 配置一下,
spring.main.allow-circular-references = true
问题9:系统中vo、dto文件过多创建麻烦
问题点:
vo用于后端与前端对接,dto用于后端与后端对接。很多时候会定义接口文档,或者json串。我们可以通过 json串java的方式完成生成。
百度查询,json在线格式化,可以查到很多网站
问题10:后台返回数据list.size为0,json显示list
当集合、对象为null或者空时,在前台显示为空,或者数组为0。导致前端的级联选择器显示异常。
问题点:
针对空、null的属性,在转为json时不应该显示。对此使用@JsonInclude(JsonInclude.Include.NON_EMPTY)
完善功能。
问题11:Jackson格式化时间差8小时
为了时间格式化,我使用了spring.jackson.data-format进行时间格式化。但单穿前端后时间上相差8小时
问题点:
spring boot在进行数据传输时,默认为json格式传输。Jackson框架默认的时区GMT,相对于中国是少了8小时
我们需要调整时区,来调整时间
问题12: @Value获取不到配置文件内容
自己写代码时想灵活配置,使用@Value获取配置文件内容,但发现赋值List直接报错。配置和key都是对的,不知道为啥报错。
Could not resolve placeholder ‘elastic.search.http‘ in value “${elastic.search.http}“
问题点: @Value的无法传list
查阅后发现,使用@Value只能用于传字符串或者数组。无法传map或者list。
注:
EL表达式是可以写java语句的
__EOF__

本文链接:https://www.cnblogs.com/zz-1q/p/18110041.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人