原因:因为之前的项目配置了druid,所以之后的项目创建后运行是@SpringBootApplication
会自动装配autoconfig,他就需要配置数据源也就是druid。
所以有两种解决方法:
-
需要在启动类的@EnableAutoConfiguration或@SpringBootApplication中添加exclude = {DataSourceAutoConfiguration.class},排除此类的autoconfig。启动以后就可以正常运行。
-
在application.xml或application.yml中添加druid的配置数据,如下图:
1 spring: 2 datasource: 3 username: root 4 password: root 5 url: jdbc:mysql://localhost:3306/db_student?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC 6 driver-class-name: com.mysql.cj.jdbc.Driver 7 8 #阿里巴巴的数据库框架 9 type: com.alibaba.druid.pool.DruidDataSource 10 11 #Spring Boot默认是不注入这些属性值的,需要自己绑定 12 #durid 数据源专有配置 13 initialSize: 5 14 minIdle: 5 15 maxActice: 20 16 maxWait: 60000 17 timeBetweenEvictionRunsMillis: 60000 18 minEvictableIdleTimeMillis: 300000 19 validationQuery: SELECT 1 FROM DUAL 20 testWhileIdle: true 21 testOnBorrow: false 22 testOnReturn: false 23 poolPreparedStatements: true 24 25 #配置监控统计拦截的filters,stat:监控统计、log4j:日记记录、wall:防御sql注入 26 #如果允许时报错 java.lang.ClassNotFoundExceptionn: org.apache.log4j.Priority 27 #则导入 log4j 依赖即可,maven地址:https://mvnrepository.com/artifact/log4j/log4j 28 filters: stat,wall,log4j 29 maxPoolPreparedStatementPerConnectionSize: 20 30 useGlobaDataSourcestat: true 31 connectionProperties: druid.stat.meregeSql=true;druid.stat.slowSqlMillis=500
注意
还有另外一种情况:是这个类里面加了@Configuration这个注解
解决办法:把注解删了就好了