• java常用注解(更新中)


    注解根据来源可分为: 系统注解(自带的,取决于JDK版本)、自定义注解及第三方注解

    系统注解根据用途又可分为: java内置注解和元注解

    根据运行机制(保留到什么时候)可分为: 源码注解、编译注解和运行注解

    java内置注解

    @Override

    覆盖父类方法

    @Deprecated(不赞成)

    用于方法,表明方法已过期,不建议使用

    @Suppvisewarning 

    忽略警告,例如当我们要使用已过时方法,有的编译器会出现警告,

    @Suppvisewarning("deprecation")表示忽略此警告

    -------------------------------------------------------------

    元注解

    用来注解其他注解

    @Target

    声明注解用在什么地方

    ElementType.CONSTRUCTOR 用于构造器

    ElementType.FIELD 用于成员属性

    ElementType.LOCAL_VARIABLE 局部变量

    ElementType.METHOD 方法

    ElementType.PACKAGE 包

    ElementType.PARAMETER 用于参数

    ElementType.TYPE 类、接口或enum(enum可视为特殊的类)

    ElementType.ANNOTATION_TYPE 注解

    @Rentention

    注解信息保留到什么时候

    RententionPolicy.SOURCE 只在源代码中保留,编译阶段抛弃

    RententionPolicy.CLASS 只保留到编译阶段(CLASS文件),VM中运行时抛弃

    RententionPolicy.RUNTIME 运行时也保留,可通过反射机制获取注解信息

    @Document

    注解将被包含至javadoc中

    备注: javadoc是Sun公司提供的一种技术,能从源代码中抽取类、方法、成员、注释等生成一个和源代码配套的API帮助文档

    指令: javadoc xxx.java

    @Inherited

    子类可继承父类的此种注解(如果父类有的话)

    ------------------------------------------------------------------

    常用第三方注解

    @Return

    一般用于方法上,说明有返回值

    @Controller

    声明为控制器,可返回jsp、html页面的名称并跳转到相应页面

    备注:springMVC中,控制器就是一个其方法中添加了@RequestMapping来处理请求的类

    @RequestBody

    @ResponseBody

    与@Controller结合使用,表明返回json数据

    @RequestMapping(value= 'xx', method=XX)

    表明方法是处理那种类型、什么地址的请求,返回值默认解析为跳转路径

    @GetMapping()

    组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写

    @PostMapping()

    组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写

    @PathVariable

    Spring3.0 新增带占位符的 URL,例如@RequestMapping("/a/{id}"),通过@PathVariable可以将 URL中占位符参数绑定到控制器处理方法的入参中

    @RestController

    @Controller与@ResponseBody的结合

    @ComponentScan

    会扫描@Controller、@Service、@Repository、@Component,默认扫描自己所在的包

    basePackage 制定扫描的包(根目录开始)

    includeFilters 包含的过滤器

    excludeFilters 排除的过滤器

    @Filter 

    type value

    @Controller

    声明为一个控制器 语义性,功能同@Component

    @RestController

    相当于ResponseBody+Controller 表明此控制器返回json

    @Test

    junit 表明为测试方法

    @Configuration

    表明是一个配置类

    @ComponentScan

    组件扫描,主要是扫描我们自定义的组件(归spring管理的)

    @EnableAutoConfiguration

    组件扫描,但主要是扫描jar包下

    启用 Spring 应用程序上下文的自动配置

    @SpringBootApplication

    相当于@Configuration+ @EnableAutoConfiguration+ @ComponentScan

    @Autowired

    自动装配bean,默认按照类型

    @Resource

    自动装配bean,默认按照名称

    @GeneratedValue(strategy=GenerationType.xxx)

    用来设置主键的生成策略

    AUTO 由程序控制

    IDENTITY 由数据库生成,采用数据库自增长

    。。。

    @Id

    声明属性为主键

    @Column(name= "xxx")

    声明属性在数据库中的名称

    @ConfigurationProperties("xxx.xxx.xxx")

    注入application.properties中xxx.xxx.xxx开头的属性 

    @Primary

    确定该实现类为最优先

    @Qualifier

    为同一接口的实现类添加标志

    @Mapper

    声明此接口为一个mapper,使用此注解无需再写xml映射文件

    componentModel 声明此接口的实现类的类型

    @MapperScan

    扫描指定的包,包内所有的类都成为mapper,这样无需为每一个类都添加@Mapper

    @MapperScan(basePackages= {"xxx.xxx"}, sqlSessionFsactoryRef= "", sqlSessionTemplateRef= "")

    @RequestBody

    作用于形参上,将前台发来的固定格式的数据(xml或json)封装成JavaBean对象

    如何封装: 使用系统默认配置的 HttpMessageConverter对数据进行解析,然后封装到形参上

    body-> JavaBean

    @ResponseBody

    作用于方法,表明此方法的返回值写入Http response body中

    如何写入: 改注解作用的方法返回一个对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区

    JavaBean-> body

    mybatis注解:

    @Select

    ......

     

  • 相关阅读:
    3月30日
    3月29日
    3月26日
    3月24
    3月22日
    3月20日
    博弈论基础
    $burnside$引理与$pacute olya$定理
    min-max容斥
    模板
  • 原文地址:https://www.cnblogs.com/yanze/p/9481915.html
Copyright © 2020-2023  润新知