springMVC:
MVC:Model資料模型(包含資料的對象) View視圖 Controller控制器
三層架構:Presentation tier展現層 Application tier應用層 Data tier資料通路層
注解:
聲明普通bean時,使用component、service、repository、controller等同,都組合了Compoment元注解
controller:聲明為spring的一個bean,Dispatcher Servlet自動掃描此注解的類,并将web請求映射到注解了@RequestMapping的方法上
在spring MVC聲明控制器bean隻能用controller
requestMapping:映射web請求(通路路徑和參數)、處理類和方法,
responseBody:将傳回值放在response體内,而不是傳回頁面
requestBody:容許request參數在request體中
pathVariable:接收路徑參數
controllerAdvice:為controller添加全局配置,類上
方法上添加ExceptionHandler(Exception.class)處理這個異常
InitBinder設定WebDataBinder(綁定前台請求參數到Model)
1、對象初始化
2、類型轉化:前台傳到controller裡的值是String類型的,int、data、bean需要轉化
@InitBinder
protected void initBinder(WebDataBinder binder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
}
ModelAttribute:綁定鍵值對到Model中,讓全局的@RequestMapping都獲得此處設定的鍵值對
單獨的controller中,注解在方法上通路此controller先按順序走這些方法,
有傳回值,傳回值作為value儲存到隐含的Model中,key為 “傳回值首字母小寫”,可指定(value="")
https://blog.csdn.net/lovesomnus/article/details/78873089
https://blog.csdn.net/qq924862077/article/details/53924606
https://blog.csdn.net/harry_zh_wang/article/details/57329613
https://www.cnblogs.com/Terry-Wu/p/8134732.html
ViewController:簡化單純界面跳轉代碼
springmvc路徑中帶.的話會有些問題,springboot貌似沒有這個問題,不過還是了解下吧
configurePathMatch:
@Override
publicvoid configurePathMatch(PathMatchConfigurer configurer) {
configurer.setUseSuffixPatternMatch(false)
.setUseTrailingSlashMatch(true);
}
實體類屬性字段
@NotEmpty 用在集合類上面;不能為null,而且長度必須大于0
@NotBlank 用在String上面;隻能作用在String上,不能為null,而且調用trim()後,長度必須大于0
@NotNull 用在基本類型上;不能為null,但可以為empty
jackson:支援對象和json、xml轉換
@RequestMapping(value="/get",produces={"application/json;charset=UTF-8"})傳回json
@RequestMapping(value="/get",produces={"application/xml;charset=UTF-8"})傳回xml
謝謝大家的分享