zoukankan      html  css  js  c++  java
  • Annotation(注解)的概念、作用及常用注解

    Annotation的概念

      能够添加到 Java 源代码的语法元数据。类、方法、变量、参数、包都可以被注解,可用来将信息元数据与程序元素进行关联。Annotation 中文常译为“注解”。

    • 从JDK5.0 开始,java增加了对元数据(MetaData)的支持,也就是Annotation(注解)。
    • Annotation其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过使用Annotation,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。
    • Annotation可以像修饰符一样被使用,可用于修饰包,类,构造器,方法,成员变量,参数,局部变量的声明,这些信息被保存在Annotation的“name=value”对中。
    • Annotation能被用来为程序元素(类,方法,成员变量等)设置元数据。

     

    Annotation的作用

      标记,用于告诉编译器一些信息

      编译时动态处理,如动态生成代码

      运行时动态处理,如得到注解信息

      这里的三个作用实际对应着@Retention三种值分别表示的 Annotation

     

    常用Annotation及例子:

    • @named

      @Named和Spring的@Component功能相同。@Named可以有值,如果没有值生成的Bean名称默认和类名相同。

          例如: 

     [java] view plaincopy
    
      @Named public class Person 

         该bean的名称就是person。

    [java] view plaincopy
    
      @Named("p") public class Person 

          如果指定名称,那么就是指定的名称p

    • @model

      Annotation解析package javaeetutorial.hello1;

    import javax.enterprise.context.RequestScoped;
    import javax.inject.Named;
    
    @Named
    @RequestScoped
    public class Hello {
    
        private String name;
    
        public Hello() {
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String user_name) {
            this.name = user_name;
        }
    }

       在上面的代码中,Hello类叫做管理bean类,它为facelets页面表达式所使用的name属性提供了getter和setter方法,默认该facelets页面表达式引用的是Hello类的名字,不过第一个字母是小写字母(例如:hello.name)。

            如果你使用的是默认的bean类的类名,你注解可以用@Model来替代@Named和@RequestScoped。@Model注释称为原型,是一个包含其他注释的注释的术语。

    JavaServer Faces应用程序中最常用的范围如下:

      Request(@RequestScoped):请求范围在Web应用程序中的单个HTTP请求期间保持不变。在类似的应用程序hello1中,应用程序由单个请求和响应组成,bean使用请求范围。

      Session(@SessionScoped):会话范围在Web应用程序中的多个HTTP请求中保持不变。当应用程序由需要维护数据的多个请求和响应组成时,bean使用会话范围。

      Application(@ApplicationScoped):应用程序范围在所有用户与Web应用程序的交互中持续存在。

     

  • 相关阅读:
    ptunnel-简易使用
    socat-简易使用
    ncat-相关参数用法
    通过iodine简单实现dns隧道技术
    HTB-靶机-Safe
    HTB-靶机-Rope
    【mysql子查询&组合查询 05】
    【mysql 库表操作 07】
    【mysql插入&修改&删除 06】
    【mysql 连接查询 04】
  • 原文地址:https://www.cnblogs.com/xiaohuomiao/p/10536489.html
Copyright © 2011-2022 走看看