SpringBoot问题

本文最后更新于 2025年11月10日 下午

运行问题

启动新的SpringBoot项目时要把pom.xml添加为Maven项目,直至其图标变为蓝色。

运行项目时要net start mysql,再连接数据库。

循环依赖

有的时候注入了在配置类下的字段的时候容易发生循环依赖,互相依赖对方,Spring 无法决定谁先创建。

解决:最好修改配置类,将注入的实例独立,在方法参数层面注入,而非类字段上注入。

清理并重建项目

1、清理缓存

打开IDEA,设置-是缓存失效-失效并重启。

2、清理Maven缓存

mvn clean install

数据库连接问题

连接服务器时,Mysql忘记密码且文件不可读

Mysql/bin文件夹下运行mysqld --console时报错[ERROR] [MY-012271] [InnoDB] The innodb_system data file 'ibdata1' must be writable

1、停止Mysqlnet stop mysql

2、检查ibdata1权限;

跳转到Mysql/data文件夹下,把ibdata1改为完全控制,再mysqld --console依然报错则第二步。

3、初始化ibdata1

提前备份Mysql/data下数据,删除Mysql/data文件夹,先mkdir data,再跳转到Mysql/bin执行mysqld --initialize-insecure --datadir="data目录" --console

重新mysqld --console成功后打开新窗口mysql -u root,重设密码ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

删除数据库时,@PathVariable没有被正确解析导致500

1、修改pom.xml<build>下的<configuration>

1
2
3
4
5
6
7
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerArgs>
<arg>-parameters</arg> <!-- 确保参数名信息被保留 -->
</compilerArgs>
</configuration>

确保编译时保留了方法参数名称信息。

2、重新构建项目mvn clean install,再重新启动项目即可。

连接数据库时,报错Public Key Retrieval is not allowed

JDBC自动拒绝使用公钥加密登录,在连接的URL一栏中添加?allowPublicKeyRetrieval=true&useSSL=false

解决一对多时的无限序列化

@JsonIdentityInfo注解,当这个对象已经被序列化时就只输出标识属性。


SpringBoot问题
http://example.com/springBootBug/
发布于
2025年10月20日
更新于
2025年11月10日
许可协议