標籤:body app head get 方法 set 欄位 學習 必須
1: @RequestMapping:處理請求地址映射的請求,有6個屬性?
` value: URL 地址
method: GET/POST/PUT/DELETE
consumes: :指定處理請求的提交內容(Content-Type),例如:application/json, text/html
produces: 指定返回的內容類型,僅當request的Accept類型中包含該指定類型才返回
parameters: 指定request必須包含哪些參數才讓這個處理
RequestMapping (value= "testParams" , params={ "param1=value1" , "param2" , "!param3" })/param1 的值必須等
於value1 ,參數param2 必須存在,值無所謂,參數param3 必須不存在
headers: 指定request中必須包含某些指定的header值,才能讓該方法處理
2: @Resource @Autowired
都是在注入bean的時候用.
相同點: 二者都寫在欄位或者setter方法.
不同點:@AutoWired預設是按byType裝配,預設情況下要求bean必須存在,可以用requered=false表示允許是null。
如果是byName(id)裝配,可以結合 @Qualifier註解一起使用。
@Resource預設是按照ByName(bean id)自動注入,可以用name和type屬性指定裝配方式。
3: Spring MVC其他常用註解
@ModelAttribute
這個在AC面試的時候考察了:當我們請求 /myTest/sayHello.do 的時候使用 @ModelAttribute 標記的方法會先執行,然後把它們返回的對象存放到模型中。最終訪問到 sayHello 方法的時候,使用 @ModelAttribute 標記的方法參數都能被正確的注入值。
@SessionAttributes
@Controller
@RequestMapping ( "/myTest" )
@SessionAttributes (value={ "intValue" , "stringValue" }, types={User. class })
指定了屬性為 intValue 或 stringValue 或者類型為 User 的都會放到 Session中.
@PathVariable: 請求參數中變數
@RequestParameter: 三個常用參數: defaultvalue=”xx”/required=false/value=”xxx”
@ResponseBody: 將controller方法返回的隊形,通過適當的HttpMessageConverer轉化為指定格式後,寫入到Response對象的body資料區。當返回的是jason/XML 等的時候用。
@Component
@Repository: 用在dao層上
@CookieValue:
@RequestHeader: 把header上的值綁定到參數
@RequestBody:該註解常用來處理Content-Type: 不是application/x-www-form-urlencoded
編碼的內容,例如application/json,application/xml等;
它是通過使用HandlerAdapter 配置的HttpMessageConverters
來解析postdata body,然後綁定到相應的bean上的。
spring 學習 requestMapping