Springboot 開發過程中遇到坑點 (一)
前言
之前是不會Springboot的,使用集中式開發,日常在學習Java的Springboot開發過程中,比如在前期開發,會容易遇到一些問題,這裡做一些記錄。
問題
1.Springboot版本已經包含了snakeyaml,如果依然pom新增Yaml庫snakeyaml,啟動Application會遇到奇怪的錯誤。
新增了snakeyaml後
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.13</version>
</dependency>
會出現以下錯誤。
00:05:11.649 [main] DEBUG org.springframework.boot.context.logging.ClasspathLoggingApplicationListener - Application failed to start with classpath: [file:/C:/Program%20Files/Java/jdk1.8.0_111/jre/lib/charsets.jar 省略
00:05:11.653 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.NoSuchMethodError: org.yaml.snakeyaml.LoaderOptions.setAllowDuplicateKeys(Z)V
at org.springframework.boot.env.OriginTrackedYamlLoader.createYaml(OriginTrackedYamlLoader.java:66)
at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:162)
at org.springframework.boot.env.OriginTrackedYamlLoader.load(OriginTrackedYamlLoader.java:82)
at org.springframework.boot.env.YamlPropertySourceLoader.load(YamlPropertySourceLoader.java:50)
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.loadDocuments(ConfigFileApplicationListener.java:607)
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:523)
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.loadForFileExtension(ConfigFileApplicationListener.java:498)
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:468)
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.lambda$null$7(ConfigFileApplicationListener.java:447)
at java.lang.Iterable.forEach(Iterable.java:75)
省略
但是編譯時不會拋錯。
這類錯誤是 執行緒上下文類載入器在這個啟動Application環境事件時失敗,這裡是ApplicationFailedEvent型別,去掉這個Pom包就可以恢復。
2.controller層同個檔案裡面,新增到RequestMapping路由一樣,編譯時不會錯誤,但執行Application會拋錯。
拋錯資訊這個省略。@RequestMapping註解會將 HTTP,請求對映到MVC和REST控制器的處理方法上,因為是對映,所以不能有重複的。
一般情況下,@RequestMapping("/routepath") routepath路由API是小寫的。
3.一開始寫@Value(${xxx1.xxx2})
xxx1是Yaml檔案裡面的第一層,xxx2是Yaml檔案裡面的第二層。一開始寫的時候容易少寫一個$,啟動時會產生拋錯。
4.ModelMapper和RestTemplate需要進行配置才能使用。
ModelMapper不配置就會拋錯。
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-10-28 17:22:04.607 ERROR 8280 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Field modelMapper in com.lilith.ordercenter.service.OrderCenterService required a bean of type 'org.modelmapper.ModelMapper' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'org.modelmapper.ModelMapper' in your configuration.
需要配置
@Bean
public ModelMapper modelMapper() {
return new ModelMapper();
}
Springboot版本2.x以上需要配置RestTemplate。
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder.build();
}
PS:配置@Bean是指spring階段是Xml裡面的bean,這裡是指@Configuration啟動容器+@Bean註冊Bean。
@Configuration標註在類上,等於是spring的xml配置檔案中的,配置在spring容器(Application Context)。
相關文章
- 開發小程式過程中採坑
- mpvue & 小程式開發過程中的坑Vue
- android開發過程中遇到的問題Android
- 總結開發過程踩到的坑(一)
- npm包使用過程中遇到的坑,長期更~NPM
- Flutter開發過程中遇到的問題記錄Flutter
- 開發過程中遇到問題該怎麼辦?
- [微信小程式]開發中遇到的一些“坑”微信小程式
- 記錄從0開發一個vue的富文字外掛過程以及遇到的坑Vue
- antd(螞蟻金服使用過程中遇到的小坑)
- 皮膚開發過程中遇到的3個問題
- Vue專案開發過程中遇到的一些問題總結Vue
- Nebula 2.5.0安裝過程及遇到的坑
- 記使用pdf.js過程遇到的坑JS
- 直播系統開發過程中的一些關鍵點
- iOS開發中遇到的那些坑,持續更新iOS
- 開發遇到的坑之blockBloC
- 記錄在使用Django開發過程中遇到的問題No.2Django
- workerman開發過程中遇到的一些常見的問題與解決方法
- 嵌入式軟硬體開發中遇到的坑
- 盤點機器學習過程中的彎路,帶你避坑!機器學習
- API 開發中可選擇傳遞 token 介面遇到的一個坑API
- 一個Flutter中臺元件的開發過程Flutter元件
- 開發直播帶貨系統過程中,需要注意這些“坑”
- Android小部件Widget開發過程中的坑和總結Android
- Android開發過程中遇到的問題以及解決辦法 how toAndroid
- IOS開發中遇到過的各種坑洞iOS
- springboot引入mybatis遇到的坑Spring BootMyBatis
- 嘗試 WebGPU 過程中掉的一些坑WebGPU
- 在做一個support,今天看程式碼的過程中遇到個問題,望大家給點指點。
- 爬蟲過程中遇到的問題爬蟲
- 微信小程式開發遇到的那些坑微信小程式
- 坑:重構過程中的過度設計
- 配置IIS,Apache,PHP過程中遇到的一些問題ApachePHP
- Laravel 使用 swoole 協程遇到的坑Laravel
- 學習vue過程中遇到的問題Vue
- 在使用Kafka過程中遇到的錯誤Kafka
- STATSPACK安裝過程中遇到的問題