1. 程式人生 > 實用技巧 >錯誤1:APPLICATION FAILED TO START

錯誤1:APPLICATION FAILED TO START

原因:因為之前的專案配置了druid,所以之後的專案建立後執行是@SpringBootApplication會自動裝配autoconfig,他就需要配置資料來源也就是druid。

所以有兩種解決方法:

  1. 需要在啟動類的@EnableAutoConfiguration或@SpringBootApplication中新增exclude = {DataSourceAutoConfiguration.class},排除此類的autoconfig。啟動以後就可以正常執行。

  2. 在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這個註解

解決辦法:把註解刪了就好了