1翰舌、@SpringBootApplication
主類(入口類)的注解嚣潜。(@Configuration,@EnableAutoConfiguration 椅贱, @ComponentScan)
2懂算、@Repository
DAO層注解,DAO層中接口繼承JpaRepository<T,ID extends Serializable>,需要在build.gradle中引入相關(guān)jpa的一個jar自動加載庇麦。
3计技、@Service
ServiceImpl上面注解,注意不是Service接口山橄,而是接口的實現(xiàn)類上垮媒。
4、@Entity
SpringMVC中model層相當(dāng)于SpringBoot中的entity層航棱,@Entity注解在實體類(domain層)上面睡雇。
@Table(name ="數(shù)據(jù)庫表名"),這個注解也注釋在實體類上丧诺,對應(yīng)數(shù)據(jù)庫中相應(yīng)的表入桂。
@Id奄薇、@Column注解用于標(biāo)注實體類中的字段驳阎,pk字段標(biāo)注為@Id,其余@Column馁蒂。
5呵晚、@RestController
Controller層注解,@RestController相當(dāng)于@Controller + @ResponseBody
特殊的沫屡,若該控制器用于跳轉(zhuǎn)JSP頁面饵隙,必須用@Controller標(biāo)注,否則不予跳轉(zhuǎn)沮脖。
6金矛、@RequestMapping
@RequestMapping是一個用來處理請求地址映射的注解芯急,用于類或方法上,用于類上驶俊,表示類中所有響應(yīng)請求的方法都是以該路徑為父路徑娶耍;
自帶屬性:
path 或者value:請求的地址;
method:請求的方法饼酿;->具體寫法:method = RequestMethod.POST榕酒,如果不確定就不要寫
*headers:指定request中必須包含某些指定的header值,才能讓該方法處理請求故俐;
*params:指定request中必須包含某些參數(shù)值是想鹰,才讓該方法處理;
*consumes:指定處理請求的提交內(nèi)容類型(Content-Type)药版,如application/json,text/html辑舷;
*produces:指定返回的內(nèi)容類型,僅當(dāng)request請求頭中的(Accept)類型中包含該指定類型才返回槽片;
注:可以直接寫@PostMapping或者@GetMapping來替換@RequestMapping
7惩妇、@Autowired
自動裝配,自動導(dǎo)入依賴的beans筐乳,一般自動注入*Mapper或者*Service到另一層歌殃。
8、@PathVariable
用來處理占位符蝙云,類似user/{id}的路徑氓皱,參數(shù)中需要@PathVariable(value="id") String id,為了避免犯錯勃刨,盡量命名相同波材。
9、@ResponseBody
Controller方法返回結(jié)果直接寫入HTTP response body中身隐,一般在異步ajax獲取數(shù)據(jù)時使用廷区。
也就是后臺向前臺返回結(jié)果的時候?qū)懘藰?biāo)簽。
10贾铝、@RequestBody
對json格式的參數(shù)轉(zhuǎn)換為Java類型隙轻。
例如以下代碼:
jsp中:
var formData = JSON.stringify($("#epicForm").serializeJson());
$.ajax({
url: "<%=basePath%>" + "/epics/epic/save",
type:"POST",
contentType: "application/json",
data: formData,
success:function(data){
alert("添加成功");
window.location.href = "<%=basePath%>/epics/epic/selAllEpic"
}
});
Controller中:
@RequestMapping(value = "/save", method = RequestMethod.POST)
public void add(@RequestBody Epic epic, HttpServletRequest request) {
log.info("this is v1 新增邏輯");
log.info("this is v1" + request.getRequestURL());
epicService.save(epic);
System.out.printf("添加成功");
}
注:Controller類上面用的@RestController所以不需要用@ResponseBody
11、?@RequestParam
用在方法參數(shù)之前@RequestParam String id =request.getParameter("id");
盡量不用...