• Java学习记录-注解


    注解

    一、org.springframework.web.bind.annotation

    ControllerAdvice
    CookieValue : 可以把Request header中关于cookie的值绑定到方法的参数上。
    CrossOrigin
    ExceptionHandler
    InitBinder
    Mapping
    MatrixVariable
    ModelAttribute : 代表的是,该Controller的所有方法在调用前,先执行此ModelAttribute方法,可用于注解和方法参数中,可以把这个ModelAttribute特性,应用在BaseController当中,所有的Controller继承BaseController,即可实现在调用Controller时,先执行@ModelAttribute方法。
    PathVariable : 用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数。
    RequestBody : 该注解常用来处理Content-Type: 不是application/x-www-form-urlencoded编码的内容,例如application/json, application/xml等。
    RequestHeader : 可以把Request请求header部分的值绑定到方法的参数上。
    RequestMapping : 用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
    RequestParam : 主要用于在SpringMVC后台控制层获取参数
    RequestPart :
    ResponseBody : 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式(json,xml)后,写入到Response对象的body数据区
    ResponseStatus
    RestController
    SessionAttributes : 将值放到session作用域中,写在class上面。

    二、org.springframework.stereotype

    Component  : 是所有受Spring 管理组件的通用形式,@Component注解可以放在类的头上,@Component不推荐使用。

    Controller :  @Controller对应表现层的Bean,也就是Action

    Repository : @Repository对应数据访问层Bean

    Service : @Service对应的是业务层Bean

    三、org.springframework.beans.factory.annotation

    Autowired : 做bean的注入时使用
    Configurable
    Lookup
    Qualifier:别名
    Required
    Value : 对一些如xxx.properties文件中的文件,进行键值对的注入。

    四、org.springframework.context.annotation
    Bean
    ComponentScan:表示开启Spring Beans扫描,类似于XML配置,这里也可以可以设置basePackages属性。
    Conditional
    Configuration:表示这个Java文件是一个配置文件,这类Java代码的作用在于配置,要和普通的Java代码区分开发,因此一般我们需要将其放在一个专门的包中
    DependsOn
    Description
    EnableAspectJAutoProxy
    EnableLoadTimeWeaving
    EnableMBeanExport
    Import
    ImportResource
    Lazy
    Primary
    Profile
    PropertySource
    PropertySources
    Role
    Scope : 用来定义Bean的作用范围。Spring中的@scope注解

    五、javax.annotation
    Generated
    PostConstruct:在bean构造函数之后执行,init()方法之前执行(影响Servlet生命周期的注解)
    PreDestroy:bean销毁destroy()之前调用的方法(影响Servlet生命周期的注解)
    Resource : 做bean的注入时使用。
    Resources

    六、java.lang.annotation

    这个包下是元注解,就是修饰注解的注解。

    Target:说明了Annotation所修饰的对象范围

    Retention:定义了该Annotation被保留的时间长短

    Documented:用于描述其它类型的annotation应该被作为被标注的程序成员的公共API,因此可以被例如javadoc此类的工具文档化。Documented是一个标记注解,没有成员。

    Inherited:阐述了某个被标注的类型是被继承的。如果一个使用了@Inherited修饰的annotation类型被用于一个class,则这个annotation将被用于该class的子类。
    Native
    Repeatable:

    FunctionalInterface:函数式接口

    Lambda表达式是如何在java的类型系统中表示的呢?每一个lambda表达式都对应一个类型,通常是接口类型。而“函数式接口”是指仅仅只包含一个抽象方法的接口,每一个该类型的lambda表达式都会被匹配到这个抽象方法。因为 默认方法 不算抽象方法,所以你也可以给你的函数式接口添加默认方法。
    我们可以将lambda表达式当作任意只包含一个抽象方法的接口类型,确保你的接口一定达到这个要求,你只需要给你的接口添加 @FunctionalInterface 注解,编译器如果发现你标注了这个注解的接口有多于一个抽象方法的时候会报错的。

    七、java.lang

    SuppressWarnings:禁用警告

    Deprecated:废弃

    参考 : 注解用法详解——@SuppressWarnings

    八、lombok

    @Data
    使用这个注解,就不用再去手写Getter,Setter,equals,canEqual,hasCode,toString等方法了,注解后在编译时会自动加进去。
    @AllArgsConstructor
    使用后添加一个构造函数,该构造函数含有所有已声明字段属性参数
    @NoArgsConstructor
    使用后创建一个无参构造函数
    @Builder
    关于Builder较为复杂一些,Builder的作用之一是为了解决在某个类有很多构造函数的情况,也省去写很多构造函数的麻烦,在设计模式中的思想是:用一个内部类去实例化一个对象,避免一个类出现过多构造函数

    @Slf4j

    如果不想每次都写private  final Logger logger = LoggerFactory.getLogger(当前类名.class); 可以用注解@Slf4j;

     参考 : lombok几个基本注解的使用

     参考资料:

    http://www.cnblogs.com/leskang/p/5445698.html

    http://blog.csdn.net/jzhf2012/article/details/8463783

    http://www.360sdn.com/springmvc/2013/0627/407.html

    深入理解Java:注解(Annotation)自定义注解入门

    Java内置系统注解和元注解

    Java8中的类型注解浅析

    java8 新增的@Repeatable注解

    Java开发之@PostConstruct和@PreConstruct注解

    通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作

    spring的@Transactional注解详细用法

    Spring的注解@Qualifier用法

    @Table 注解详解

    Spring中常用的注解(@Entity,@Table,@Column,@Repository,@Service)

  • 相关阅读:
    常用函数集锦
    HDU1212加深下对取模运算的理解
    HDU1022 queue和vector模拟
    设计模式原则
    3.6html学习笔记之样式选择
    poj 1274(二分图最大匹配)
    poj 1469(二分图最大匹配)
    poj 3692(二分图匹配--最大独立集)
    Codeforces Round #230 (Div. 1) 解题报告
    Codeforces Rockethon 2014 解题报告
  • 原文地址:https://www.cnblogs.com/wangwangfei/p/5856397.html
Copyright © 2020-2023  润新知