spring boot實戰一: 入門
運行初始項目
參考鏈接
在settings -> Plugins 裏邊搜Spring Assistant,安裝完後重啓idea
由於一直網絡超時,故直接在https://start.spring.io 下載demo.zip而後用idea打開
打開後如圖所示
加入測試程序HelloController
package com.example.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 測試控制器
*/
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "Hello Spring Boot!";
}
}
問題一 Resolving Maven dependencies
若未檢測到pom.xml文件並一直卡在Resolving Maven dependencies處
解決方法一:maven換源
參考鏈接
由於不存在settings.xml, 需要自己建一個
settings.xml
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
https://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>
記得勾上override選項
然後apply即可
解決方法二:
即改爲
修改maven Importing的jvm參數, 默認爲700多, 直接修改成 -Xms1024m -Xmx2048m
問題二 程序包org.springframework.web.bind.annotation不存在
將pom.xml 中的
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
改爲
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
原因:
spring-boot-starter和spring-boot-starter-web的區別:
spring-boot-starter 是Spring Boot的核心啓動器,包含了自動配置、日誌和YAML
spring-boot-starter-web 支持全棧式Web開發,包括Tomcat和spring-webmvc
Web開發要用後者。
Maven 作用
理解一:
先不說maven,也不說java開發,先說做菜,你可能像做個紅燒小排(HongshaoxiaopaiApp),你需要的材料是:
小排(xiaopai.jar),要小豬的(version=little pig)。
醬油(jiangyou.jar),要82年的醬油(version=1982)
鹽(yan.jar)
糖(tang.jar),糖要廣東產的(version=guangdong)
生薑(shengjiang.jar)
茴香(huixiang.jar)
於是,你要去菜場買小排,去門口雜貨店買醬油,買鹽……可能你家門口的雜貨店還沒有1982年的醬油,你要去3公里外的農貿市場買……你買原材料的過程估計會很痛苦,可能買到的材料不是1982年的,會影響口感。
在你正式開始做小排前,你會爲食材的事情,忙得半死。
現在有個超市出了個盒裝版的半成品紅燒小排,把生的小排,1982年的醬油,鹽,廣東產的糖等材料打包成一個盒子裏,你回家只要按照說明,就能把紅燒小排做出來,不用考慮材料的來源問題。
Maven就是那個超市,紅燒小排就是你要開發的軟件,醬油、鹽什麼的就是你開發軟件要用到的jar包——我們知道,開發java系統,下載一堆jar包依賴是很正常的事情。有了maven,你不用去各個網站下載各種版本的jar包,也不用考慮這些jar包的依賴關係。Maven會給你搞定,就是超市的配菜師傅會幫你把紅燒小排的配料配齊一樣。
現在你應該明白Maven是做什麼的了吧。
理解二:
網上一般說maven是一個構建工具,其實是說得很準確的,不過我覺得更準確的說法應該是一個自動化的構建工具。
你可以這樣說:不用maven的時候所有的jar都不是你家的,需要去各個地方下載拷貝,用了maven所有的jar包都是你家的,想要誰,叫誰的名字就行。(對小白而言,一個用來下載別人現成代碼塊的工具)
出自maven是什麼?-Kevinvcc200
到此爲止,我的問題就結束了,這樣項目便成功運行