01、如何依賴夫工程
- 在父工程pom文件中配置spring-boot-starter-parent依賴
- 在hello工程的pom文件中引入父工程的spring boot依賴
- 在hello工程中pom文件中引入spring-boot-starter-web
(會自動加載父工程中spring boot的版本信息)
02、packaging的三種形式
- jar:默認的打包方式,打包成jar用作jar包使用。
- war:將會打包成war,發佈在服務器上,如網站或服務。
- pom:用在父級工程或聚合工程中,用來做jar包的版本控制,
必須指明這個聚合工程的打包方式爲pom。
03、modules管理子項目
module就是模塊,而pom.xml中的modules也正是這個意思,
用來管理同個項目中的各個模塊;如果maven用的比較簡單,
或者說項目的模塊在pom.xml沒進行劃分,那麼此元素是用不到的;
不過一般大一點的項目是要用到的。總之:modules就是配置聚合的載體,
所有需要聚合的模塊都通過modules配置,方便按順序統一構建。
04、properties管理依賴版本
通過元素用戶可以自定義一個或多個Maven屬性,
然後在POM的其他地方使用{屬性名}的方式引用該屬性,這種做法的最大意義在於消除重複和統一管理。 Maven總共有6類屬性,內置屬性、POM屬性、自定義屬性、Settings屬性、java系統屬性和環境變量屬性; 例如:自定義屬性,在properties中定義版本號<xxx.version>4.7</xxx.version>,在dependency中通過>屬性名的方式引用該屬性,這種做法的最大意義在於消除重複和統一管理。Maven總共有6類屬性,內置屬性、POM屬性、自定義屬性、Settings屬性、java系統屬性和環境變量屬性;例如:自定義屬性,在properties中定義版本號<xxx.version>4.7</xxx.version>,在dependency中通過>{xxx.version}引用。
05、認識dependencyManagement
dependencyManagement只是聲明依賴,並不會自動引入依賴;
在子項目中dependencies的dependency纔會真實的引入依賴。
06、認識pluginManagement
pluginManagement 下的 plugins 下的 plugin 則僅僅是一種聲明,
子項目中可以對 pluginManagement 下的 plugin 進行信息的選擇、繼承、覆蓋等
07、認識@Controller
以前在編寫Controller方法的時候,需要開發者自定義一個Controller類實現Controller接口,實現handleRequest方法返回ModelAndView。並且需要在Spring配置文件中配置Handle,將某個接口與自定義Controller類做映射。
這麼做有個複雜的地方在於,一個自定義的Controller類智能處理一個單一請求。而在採用@Contoller註解的方式,可以使接口的定義更加簡單,將@Controller標記在某個類上,配合@RequestMapping註解,可以在一個類中定義多個接口,這樣使用起來更加靈活。
被@Controller標記的類實際上就是個SpringMVC Controller對象,它是一個控制器類,而@Contoller註解在org.springframework.stereotype包下。其中被@RequestMapping標記的方法會被分發處理器掃描識別,將不同的請求分發到對應的接口上。
08、認識@RestController
@RestController是一個組合註解,在spring4版本後出現。它的功能,是可以由@Controller和@ResponseBody搭配代替的。引用shuaiflying的博客:它的功能就是
使用@Controller 註解,在對應的方法上,視圖解析器可以解析return 的jsp,html頁面,並且跳轉到相應頁面
若返回json等內容到頁面,則需要加@ResponseBody註解
09、認識@RequestMapping
RequestMapping是一個用來處理請求地址映射的註解,可用於類或方法上。用於類上,表示類中的所有響應請求的方法都是以該地址作爲父路徑。
RequestMapping註解有六個屬性(分成三類進行說明)與六個基本用法:
- value:指定請求的實際地址,指定的地址可以是URI Template 模式(後面將會說明);
- method:指定請求的method類型, GET、POST、PUT、DELETE等;
- consumes: 指定處理請求的提交內容類型(Content-Type),例如application/json, text/html;
- produces: 指定返回的內容類型,僅當request請求頭中的(Accept)類型中包含該指定類型才返回;
- params: 指定request中必須包含某些參數值是,才讓該方法處理。
- headers: 指定request中必須包含某些指定的header值,才能讓該方法處理請求。
10、認識@GetMapping和@PostMapping
@GetMapping和@PostMapping都是一個複合註解,Spring framework 4.3引入了@RequestMapping註釋的變體,以更好地表示帶註釋的方法的語義。
- @GetMapping相當於@RequestMapping(method = RequestMethod.GET)
- @PostMapping相當於@RequestMapping(method = RequestMethod.POST)
11、認識注入參數的三個註解
網上找了一個圖片,有時候圖片更勝於語言表達!
12、如何啓動訪問hello工程
編寫一個Controller,然後右鍵運行Application啓動類,
啓動後瀏覽器訪問http://localhost:8080/hello