当前位置: 首页 > 面试题库 >

这些Java注释起什么作用?

萧元徽
2023-03-14
问题内容

我仍然不清楚Java中注释的用途。最初,我认为它们只是作为文档。但是,我不确定从Google App
Engine数据存储
查看此文档。
@PersistenceCapable(identityType = IdentityType.APPLICATION) 看起来更像是方法签名。

这种注释的目的是什么?它有什么作用?

import java.util.Date;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Employee {
    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long id;

    @Persistent
    private String firstName;

    @Persistent
    private String lastName;

    @Persistent
    private Date hireDate;

    public Employee(String firstName, String lastName, Date hireDate) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.hireDate = hireDate;
    }

    // Accessors for the fields.  JDO doesn't use these, but your application does.

    public Long getId() {
        return id;
    }

    public String getFirstName() {
        return firstName;
    }

    // ... other accessors...
}

问题答案:

它们是源级元数据。它们是将信息添加到不是代码的信息中的一种方法,并且可以轻松地对其进行机械处理。

在您的示例中,它们用于为该实体类型配置对象关系映射。就是说,例如id字段应该是该对象的主键,并且firstName,lastName和hiredDate应该存储在数据库中。(告诉这些字段除某些瞬时对象状态之外的其他信息。)

对JDO的GAE支持需要知道您将尝试存储在数据库中的对象。它通过查看代码中的类,使用@PersistenceCapable注释的类来实现此目的。

通常,它们用于替换您之前使用外部配置文件的位置;Java标准库具有读取代码中注释的工具,这比滚动自己的配置文件管道更容易处理,并且免费获得IDE支持。



 类似资料:
  • 同事们,我的测试类中有@Ignore注释 我的pom看起来: 结果我收到: [信息]正在扫描项目...[INFO][INFO]-----------------------------------------------------------------------------------------------------------------------------------------

  • 问题内容: 我正在尝试使用Java批注,但似乎无法使我的代码认识到其中存在。我究竟做错了什么? 问题答案: 您需要使用注释界面上的@Retention注释将注释指定为运行时注释。 即

  • 我有一个简单的类叫BeaconDao 然而,当我用@service或@component标记beaconDao时,一切都运行得非常好。有人能看出问题所在吗?

  • 问题内容: 我大致了解这种构造的作用:它创建了SomeType EJB,并将对象注入到另一个EJB中。 现在,我有一个以这样的方式开始的类:(尽管我认为只有的相关,我会给出所有类级别的注释) 什么的就做吗?他们可能会从JNDI获取或创建“ name1” …对象,但是将结果放在哪里?我看不到附近有任何电话,但是代码库很大,所以我对此不太确定。 额外的问题:我想这两个注释只是重复默认值? 更新:目前有

  • 问题内容: 我知道有一些关于此的帖子,但是它们大约一年了,没有任何回应。实际上,我们在PostgreSQL 8.4上使用的是Hibernate 4.2.1.Final。我们有两个这样的实体 实体A(顶级层次结构类) 实体B(子类) 如您所见,使用注释了一个实体,但是当使用来获取顶级类时 我们也通过属性获得了B子类。实际上,SQL语句包含。这仍然是Hibernate第四版中的错误,还是我做错了什么?

  • 问题内容: 我从Spring Framework开始,想做一个带有注释的HelloWorld,我已经创建了一个控制器和一个视图,我猜它是基本的hello工作。但是,我想使用注释,因为我不能再使用SimpleFormController(已弃用)。 我收到的错误是Estado HTTP 404-/av/index.jsp 我正在使用Netbeans,并将示例基于它提供的基本模板。我有以下文件,我可以