一、Spring注解
1) 申明類的注解 相當於<bean > 寫在類上
② @Service :聲明service層類。寫在實現類上,不寫在接口上;
@Service public class RoleServiceImpl implements RoleService { }
③ @Controller:控制層注解;
@Controller public class RoleController { }
④ @Repository:dao層注解,若在spring配置文件中配置了dao層接口,可省略此注解;
@Repository public interface RoleMapper { }
⑤ @Component// 其他組件注解,用於非Controller Service dao層的組件;
@Component public class LogAspect { }
⑥ @Autowired:依賴注入注解,根據類型進行注入。 如果有多個實現類,可以配合 @Qualifier("helloServiceImpl") 來進行指定;
//required:指定對象是否必須,為false,則可以為null(即使查找的對象不存在,也不會報錯,只會報空指針異常),默認為true(如果找不到對象,就會報錯,報找不到對象的錯誤) @Autowired(required = true) private HelloService helloService;
⑦ @Resource :依賴注入注解,先根據名稱進入注入,如果沒有再根據類型進行注入;
//Resource(name):指定注入對象的名稱(id),當一個接口有多個實現類的情況下 //如果沒有通過name指定注入的對象名,則會先根據屬性名稱進行注入,如果不存在對應的對象,則根據類型進行注入 @Resource(name = "eByeService") private BbyeService byeService;
⑧ @Lazy:懶加載,指定延遲進行創建或注入;
⑨ @Transactional :事務注解,用來指定方法事務的隔離級別和傳播特性;
二、 Springmvc注解
① RequestMapping: 加在類上,或方法上,用來指定請求地址;
加在類上,指定該類中所有方法的統一訪問前綴;
② GetMapping,PostMapping,DeleteMapping,PutMapping 分別對應get/post/delete/put 等http請求方式 ,如果請求方式不對,返回405狀態碼;
③ ResponseBody :指定返回json數據,不進行頁面跳轉。通常用來響應ajax請求;
④ @JsonFormat 添加在實體類的日期屬性上,將對象轉換成json格式時,會根據指定格式將日期類型的數據轉換成字符串。將字符串轉換成對象時,會根據指定的格式將字符串轉換成日期類型的數據;
⑤ @DateTimeFormat(pattern = "yyyy-MM-dd")將前台傳遞的字符串數據進行格式化成日期類型的數據;
⑥ @SessionAttribute向session域中獲取值;
⑦ @ModelAttribute 可添加在方法和方法參數上,向request域中存取值;
⑧ @RequestParam: 用來向request請求參數中獲取值。如果指定name,則獲取指定name的值,如果沒指定,則獲取所有請求數據,封裝進map;
⑨ @RequestBody: 用來獲取ContentType為Application/json提交的數據,並將json字符串轉換成對象。 日期的轉換會依賴於@JsonForma;
⑩ @RestController: 標識該類中的所有方法都返回json數據,方法上不需要再加ResponseBody;
11 @PathVariable:獲取URL地址中的數據,常用來實現Restful風格的API設計。