1.概念
Java提供了一種源程式中的元素關聯任何資訊(屬性、方法和類)的途徑和方法。
2.使用注解的好處
- 能夠讀懂别人的代碼,特别是架構相關的代碼
- 讓程式設計更加簡潔,代碼更加清晰
3.常見注解
(1).JDK中自帶的注解
- @Override:覆寫父類的方法
- @Deprecated:不推薦使用該該方法,可以調用其它更好的方法,但仍然可以使用,調用不會報錯
- @Suppreswarnings:告訴編譯器忽略指定的警告,不用在編譯完成後出現警告資訊
public interface Person {
String name();
String age();
@Deprecated
void sing();
}
public class Baby implements Person {
@Override
public String name() {
return null;
}
@Override
public String age() {
return null;
}
@Override
public void sing() {
}
}
public class App {
public static void main(String[] args) {
Baby baby = new Baby();
baby.sing();
}
}
(2).常見的第三方注解
- @Autowired:自動進行依賴注入的注解
- @Controller:控制器層注解
- @Service:業務層注解
- @Repository:持久層注解
- @RequestMapping:處理請求的注解
@Controller
@EnableScheduling
@RequestMapping("/acceptanceNumber")
public class AcceptanceNumberController {
@Autowired
AcceptanceNumberImpl acceptanceNumberImpl;
//藥品受理号定時任務
@Scheduled(cron = "0 0 18 * * ?")
public void getDrugAcceptanceNumberScheduled() {
acceptanceNumberImpl.getDrugAcceptanceNumber();
}
@RequestMapping(value = "/getDrugAcceptanceNumber", method = RequestMethod.GET)
public void getDrugAcceptanceNumber() {
acceptanceNumberImpl.getDrugAcceptanceNumber();
}
}
4.注解的分類
(1).元注解
- @Target:注解的使用範圍
- @Retention:注解的生命周期
- @Inherited:允許子類繼承,子類隻繼承類上的注解(辨別注解)
- @Documented:生産javadoc時會包含的注解(辨別注解)
(2).按運作機制分
- 源碼注解:隻在源碼中存在,編譯後就不存在了
- 編譯時注解:存在于源碼和.class檔案中,如JDK自帶的注解
- 運作時注解:在運作階段還會起作用的注解,能夠影響程式的運作邏輯
- JDK自帶的注解
- 第三方注解
- 自定義注解