11.InterlliJ Debug方式启动特别慢
Method breakpoints may dramatically slow down debugging
不管你是重启服务器和重启idea还是报这个问题。由该提示语我们可以知道要把方法断点给关掉,查看断点的快捷方式是Ctrl + Shift +F8
image.png
把Java Method Breakpoints去掉即可
错误Caused by: java.lang.IllegalStateException: In the composition of all global method configuration, no annotation support was actually activated
原因:在所有全局方法配置的组合中,实际上没有激活注释支持
解决方法:
在启动类中加入@EnableGlobalMethodSecurity(securedEnabled = true)
@SpringBootApplication @EnableGlobalMethodSecurity(securedEnabled = true) public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
12.MyBatis绑定错误
Invalid bound statement (not found)
这个错误主要是因为mapper接口与mapper.xml的路径没有一一对应,并且mapper.xml不能放在src目录里,配置文件必须放resources里,src目录下的xml文件默认不会编译到target。
13.使用请求转发或者重定向出现异常
java.lang.IllegalStateException: Cannot forward after response has been committed
原因:
报异常的原因是重复转发或者重定向了请求
解决方法:
如果有多个转发或者重定向,需要在每个转发或者重定向请求之后加上return语句(最后一个请求转发或者重定向可以不加)
14.SpringBoot配置数据库连接池,但日志却每次都新建连接
Mybatis中动态打印SQL语句到控制台,只需要在SpringBoot配置文件中添加如下配置即可
mybatis: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
但是如果没有用到任何连接池的话,是不会打印的
Creating a new SqlSession SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2a5ca7d7] was not registered for synchronization because synchronization is not active JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@9a51d74] will not be managed by Spring Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@2a5ca7d7]
解决方法:
确保有可用的连接池被使用,引入第三方连接池要做好配置
15.SpringBoot项目中service层互相引用
Description: The dependencies of some of the beans in the application context form a cycle: xxxController (field private aaaService xxxController.aaaService) ┌─────┐ | aaaImpl defined in file [aaaImpl.class] ↑ ↓ | bbbImpl (field private aaaService bbbImpl.orderService) └─────┘
解决方法:
注入方式用的是@RequiredArgsConstructor 注解final方式注入报错
将注入方式改为@Autowired成功解决
16.SpringBoot配置文件中使用了过时的配置项
Caused by: org.springframework.boot.context.properties.bind.UnboundConfigurationPropertiesException: The elements [spring.resources.chain.gzipped] were left unbound.
已废弃的配置项
spring: resources: chain: gzipped: true
解决方法:删掉过期的配置项即可
17.无法访问javax.servlet.Filter
解决方法:加上web
依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
18.java.lang.ExceptionInInitializerError
启动的时候直接报java.lang.ExceptionInInitializerError,很有可能是JDK版本问题
解决方法:更换JDK版本