原因:因為之前的項目配置了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這個注解
解決辦法:把注解刪了就好了