注解记录
元注解:(用来注解其他注解的注解…)
一共有4个
第一个: @Target()
这个元注解,是表示他修饰的注解可以使用的地方.无参数则默认所有地方都可用
@Target(ElementType.TYPE) //接口、类、枚举、注解
@Target(ElementType.FIELD) //类变量、枚举的常量
@Target(ElementType.METHOD) //方法
@Target(ElementType.PARAMETER) //方法参数
@Target(ElementType.CONSTRUCTOR) //构造函数
@Target(ElementType.LOCAL_VARIABLE)//局部变量
@Target(ElementType.ANNOTATION_TYPE)//注解
@Target(ElementType.PACKAGE) //记录java文件的package信息
第二个: @Retention
这个元注解,是表示他修饰的注解的生命周期(或者说有效期)
@Retention(RetentionPolicy.SOURCE) //编译时就会被销毁
@Retention(RetentionPolicy.CLASS) // 类加载时就会销毁 ! 默认;
@Retention(RetentionPolicy.RUNTIME) // 永不销毁 !
这个元注解比较常用,是注解那些需要保存信息的注解 ;
生命周期长度 SOURCE < CLASS < RUNTIME
第三个: @Document
这个元注解,是表示他修饰的注解 将被包含在javadoc中
第四个: @Inherited
这个元注解,是表示他修饰的注解 修饰的类,子类会 继承父类中的该注解
下面是一些我在SSM框架中经常使用到的注解
@Controller
// 这个注解写于 controller 层的类,表示当前类 会接收前端的请求.
@RequestMapping(“/app”)
// 这个注解修饰在类上,会表示当前类的接收路径前增加 /app
// 如果修饰在方法上,下面有详解.
使用:
@Controller
@RequestMapping(“/app”)
public class UsersController {
//………
}
![](/qrcode.jpg)
@Resource //@Autowired @Qualifier (这个是有多个实现类时,配合@Autowired使用的,多数时候不用)
// 这两个注解的含义 差不多,都是用来装配bean的,不过前者是java自带,后者是spring的
// @Resource默认按照名称进行装配,@Autowired按类型.
使用:
@Resource
private BankService bankService;
// 在Controller层 使用他装配Service层的对象
// 或者在Service层使用他装配 DAO层的对象
@RequestMapping(“/register.do”)
// 前面提到他可以修饰类和方法,修饰方法表示他可以接收 任何类型的请求(Post,Get等)
// 下面是对应的详细类型请求
@PostMapping(“/update.do”)
@GetMapping
@DeleteMapping
@PatchMapping
@PutMapping
@Repository
// 用于修饰DAO层接口.
@Service
// 修饰Service层接口
@Controller
// 上面已经写过了, 再次列出一下,这三个 注解对应3个层.
—–后续待补充 2018-09-07