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 | <configuration> |
确保编译时保留了方法参数名称信息。
2、重新构建项目mvn clean install,再重新启动项目即可。
连接数据库时,报错Public Key Retrieval is not allowed
JDBC自动拒绝使用公钥加密登录,在连接的URL一栏中添加?allowPublicKeyRetrieval=true&useSSL=false。
解决一对多时的无限序列化
用@JsonIdentityInfo注解,当这个对象已经被序列化时就只输出标识属性。