问题标签 [annotations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1436 浏览

java - 这些 Java 注释有什么作用?

我仍然不清楚Java中注释的目的。最初我认为它们只是用作文档。但是从Google App Engine Datastore看这个文档,我不太确定。@PersistenceCapable(identityType = IdentityType.APPLICATION)看起来更像是一个方法签名。

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

0 投票
12 回答
220124 浏览

java - 设置由数据库生成的 JPA 时间戳列?

DATETIME在我的 SQL Server 2000 数据库中,我有一个类型为lastTouched设置getdate()为默认值/绑定的时间戳(在函数中而不是数据类型中)列。

我正在使用 Netbeans 6.5 生成的 JPA 实体类,并在我的代码中有这个

但是,当我尝试将对象放入我得到的数据库时,

我尝试将 to 设置@Basic(optional = true),但这会引发异常,指出数据库不允许列null的值TIMESTAMP,这是设计上不允许的。

我以前让它在纯 Hibernate 中工作,但我已经切换到 JPA 并且不知道如何告诉它这个列应该在数据库端生成。请注意,我仍然使用 Hibernate 作为我的 JPA 持久层。

0 投票
6 回答
12027 浏览

java - 为什么 Spring 的 @Configurable 有时有效,有时无效?

我正在尝试通过 Spring 的 @Configurable 注释和 @Resource 在需要注入的字段上使用自动依赖注入。这涉及一些设置,例如将 spring-agent.jar 传递给我的 JVM。有关完整的详细信息,请参见此处

它工作......主要是。当我的 Tomcat 启动时,我会看到 AspectJ 初始化消息,我的用户对象会自动获取 FileService 引用等。

问题是有时它不会发生。它似乎是完全随机的;有时我启动并且没有注入依赖项,有时它们是。我以前在我的用户上使用@Transactional 时遇到了麻烦,因为它造成了冲突,我相信代理。我正在使用 JPA,所以我的用户用 @Entity 标记,所以我现在最好的猜测是这会造成冲突。我读过你不能自动代理代理。为了抵消冲突,我遵循了一些我在网上找到的关于排除Hibernate(我的 JPA 实现)使用的CGLIBjavassist的注释。

线索:

  • 要么全有,要么全无。我的所有 @Configurable 实例都已注入或没有注入。
  • 从数据库重新加载(重新实例化)实体似乎没有帮助;它要么工作要么不工作。
  • 多次重新启动 Tomcat 也无法修复它。似乎再次掷骰子的唯一事情是重新部署。换句话说,如果我重新部署它可能会起作用。

我怎样才能弄清楚出了什么问题?有人在 JPA 中使用 @Configurable 吗?为什么实际上没有注入依赖项时,我的dependencyCheck = true不会引发错误?

实体

aop.xml

应用程序上下文.xml

0 投票
2 回答
2926 浏览

java - 这是从 JSR305 使用 javax.annotation 的正确方法吗?

我最近将 JSR305 的 RI 添加到我的项目中,并且一直在向我的接口添加注释,如下所示:

本着 JSR 的精神(如此处所述),您是否认为我通过在接口中使用它们来滥用注释?我想指出返回值可以为 null,但我认为 @Nullable 更适用于“合并”方法。我不会将它们添加到实现中,因为当我编码时,接口的代码是我的指路明灯。

0 投票
3 回答
47962 浏览

java - 如何在给定的包中找到带注释的方法?

我有一个简单的方法标记注释(类似于Effective Java(第 2 版)第 35 项中的第一个示例):

然后,在一个给定的包(比如com.acme.installer)中,它有几个包含大约 20 个类的子包,我想找到所有用它注释的方法。(因为我想对单元测试中的所有带注释的方法进行一些检查。)

什么(如果有)是最简单的方法?最好不要添加新的 3rd 方库或框架。

编辑:澄清一下,显然method.isAnnotationPresent(InstallerMethod.class)将是检查方法是否具有注释的方法-但此问题包括查找所有方法。

0 投票
1 回答
688 浏览

java - 制作 java 自定义注解来标记 html 清理的 bean 属性

我可以使用 Java 自定义注释将一些代码添加到 bean 属性的 set 或 get 方法中,以清除用户输入的错误 html 中的属性吗?我一直在寻找例子,但我还没有看到我觉得可以扩展的东西。

0 投票
3 回答
15526 浏览

spring - 如果我忘记将 Spring SessionStatus 标记为“完成”会怎样?

在 Spring MVC 中,假设我使用 @SessionAttribute 标签定义了一个 SessionAttribute,如下所示:

假设我忘记在 SessionStatus 上调用 status.setComplete(),如下所示:

模型会永远留在会话中吗?它会被清理掉,还是会随着用户浏览网站而变得越来越大?

0 投票
10 回答
16394 浏览

java - Java中是否存在用于满足接口的空方法的习语?

假设我有一个Foo实现接口的类,例如MouseListener. 该MouseListener接口由五种方法组成,但我只想覆盖其中一种(mouseClicked())。是否有一种标准的、惯用的方式来格式化其他方法?

我的倾向是写以下内容:

我很喜欢明确表示方法是有意留白而不是意外留白,但我并不热衷于放弃几乎没有任何东西的所有垂直空间。我还看到了以下格式:

我对此一般没问题,并且我理解作者的意图,但是当添加(推荐的)@Override注释时,它变得非常难看。

我不是一个特别有经验的 Java 编码器,所以我想我会问是否有约定。想法?

0 投票
3 回答
749 浏览

java - Java注解可以做到这一点吗?

我正在寻找一种在我的应用程序中显示颠覆修订号和最后修改日期的解决方案(用 GWT 编写,因此反射不可用)。在 subversion 关键字中对修订进行编码不起作用,因为它仅适用于当前文件。使用注释有更好的解决方案吗?(例如,在编译期间执行的单独类,获取整个项目的最新修订号并将修订和最后修改日期注入源代码)

0 投票
1 回答
2620 浏览

java - Spring MVC 基于注解的控制器和@RequestMapping 的缩小问题

考虑这个 Spring MVC 控制器:

当我将其放入浏览器时:

我期望 AmbiguousHandlerMappingException 或其他东西,因为这两种方法似乎都与 URL 匹配。

但实际上第一个方法被调用了。有人知道为什么吗?