java注解总结(持续更新...)

来源:互联网 发布:hystrix 源码分析 编辑:程序博客网 时间:2024/06/14 22:00


  • java.lang.annotation:
    • @Documented:[元注解];指示这个注解应该包含在注解项文档中;
    • @Inherited:[元注解];指示注释类型被自动继承;
    • @Retention:[元注解];指示注释类型的注释要保留多久;
    • @Target:[元注解];指示注释类型所适用的程序元素的种类;
  • java.lang:
    • @Deprecated:[编译];标记过时被废弃;
    • @SuppressWarnings:[编译];阻止某个特定类型的警告;
    • @Override:是[编译];否覆盖了其超类的方法;
  • javax.annotation:
    • @Generated:[编译];区分代码文件中是否是生成的代码;示例如下:
      • @Generated(value="com.horstmann.beanproperty", date="2008-01-04T12:05:56.235-0700"
    • @PostConstruct:[管理资源];执行完构造逻辑而在生成类之前的逻辑;
    • @PreDestroy:[管理资源];类销毁之前的逻辑;
    • @Resource:[管理资源];标记为在一个应用程序在运行时将查找的资源,容器将把所请求资源的一个实例注入其中;
    • @Resources:[管理资源];一个资源数组,即此类用于允许多个资源声明;
  • org.springframework.beans.factory.annotation:
    • @Autowired: 按类型自动注入bean;
    • @Configurable:跟AOP有关;?
    • @Qualifier:根据名字注入bean;
    • @Required:
      • 作用于方法上, 比如setter上,让spring启动时检查是否给该方法对应的属性设置了值;使用时还需要在xml中设置bean:
      • <bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor" />
    • @Value("${v6.dealId}"):
      • 作用于类内某成员变量,则可以通过外部propeties文件配置该变量的值;如:@Value("${v6.dealId}")
        private String v6DealId;
  • org.springframework.stereotype:
    • @Component:比较中立的Service进行注解;
    • @Controller:业务层;
    • @Repository:持久层;
    • @Service:业务层;


0 0
原创粉丝点击