Java注解之简介
原创
©著作权归作者所有:来自51CTO博客作者wx63560c7d74933的原创作品,请联系作者获取转载授权,否则将追究法律责任
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自带的注解
- 运行时注解:在运行阶段还会起作用的注解,能够影响程序的运行逻辑
(3).按来源分