问题标签 [java-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 投票
1 回答
43 浏览

java - 使@XmlElements 动态化

注释类型的文档@XmlElements有这个例子:

当您只有几个需要在列表中的已知类型时,这非常有用。我正在寻找一种使其更具动态性的方法,以便在将新元素添加到系统类时Foo不需要修改。

首先想到的是使用一些自定义注释。让我们调用它@XmlElementType,它有一个 type 属性,可以应用于元素(IntegerFloat等)。当然,这不能对预定义类型执行,它只适用于新类型。

然后将注释的变体@XmlElements应用于Listclass 中的项目Foo。它将有一个属性来指示@XmlElementType它可以包含的类型,也许是一个用于扫描 POJO 的包。

所以我有两个问题:

  1. 这样的东西已经存在了吗?
  2. 如果没有,可以实施这样的事情吗?如果是,现在?
0 投票
1 回答
1313 浏览

java - 根据 Java 环境变量中的值创建使用 @JsonIgnore 的自定义注释

我需要创建一个新注释,用于在环境变量var == false. 我尝试使用JsonAnnotationIntrospector,但无法获得预期的输出。

这里我需要删除vehicle_model环境变量时的属性var == false

这是我的自定义注释的声明。有人可以告诉我应该如何编写 Introspector 部分来获得我需要的功能吗?

提前致谢。

编辑:我的尝试JacksonAnnotationIntrospector

的实现ObjectMapper

0 投票
2 回答
624 浏览

java - 为什么注释没有保留在类文件中

如果它定义了以下注释:

然后使用它定义以下接口:

如果我然后运行以下命令:

javac MyClass.java

javap MyClass.class

然后我的输出是:

编译自“MyClass.java”

公共接口 MyClass { }

所以在我看来,注释没有被保留?如果是这样,为什么会这样?

0 投票
0 回答
102 浏览

java - JAVA自定义注释:在特定条件下限制注释参数

我开始学习 java 注释,我想用它作为某种生成器标签。我只想生成随机文本、仅数字或文本和数字。

这是我的自定义注释:

到目前为止,一切都很好。如果客户端使用,我正在使用枚举来提供一些额外的定义。这是初始化:我有一个使用注释的类

但是正如你所看到的,我可以使用GeneratorTypeEnum.NUMBERS_ONLYWITHcaseType GeneratorCaseTypeEnum.TO_LOWER_AND_UPPER显然不好,因为没有大小写数字。

枚举:

生成器类型枚举

GeneratorCaseTypeEnum

问题:

  1. 有没有办法限制注释中的参数?
  2. 如果问题 #1 错误,您能否给出您的理论或意见,如果这些对初学者不友好,您能否提供一些参考链接。

答案将不胜感激。

PS:我感觉很糟糕,因为我是初学者,所以我无法给出任何尝试和错误的解决方案。

0 投票
1 回答
2172 浏览

java - Spring Boot 在运行时获取主类的名称

我正在尝试根据Scanning Java annotations at runtime中的答案编写自定义注释扫描器。

但是,为了加快进程,我只想扫描主包下的类(包含主类及其子包的包)。认为确定包名称的最简单方法是来自主类。

我正在编写的代码最终会在一个库中,供 Spring Boot 应用程序使用。所以我无法知道主类的名称。有没有办法在 Spring Boot 应用程序运行时确定主类的名称?

问候,

阿努普

0 投票
2 回答
207 浏览

java - 如何创建自定义注解来拆分请求参数并收集返回结果?

我有一个方法 params 是一个大于 50000 项的列表;限于业务逻辑,列表必须小于30000,这样我就有了在逻辑之前将这个数组拆分为二维数组的方法

这是我目前的解决方案:

我想在方法之上创建一个注释而不是许多重复的代码(每次都检查和尽管...)

对不起我的英语不好,我画了一个图表:方法调用>尽管数组>业务逻辑>收集所有结果>返回 在此处输入图像描述

0 投票
1 回答
985 浏览

java - @PostConstruct 和未经检查的异常

我很难理解 Javadoc 的@PostConstruct. 它说:

如果该方法抛出未经检查的异常,则该类不得投入使用,除非 EJB 可以处理异常,甚至从异常中恢复

在 Java 的早期版本中,文档如下:

该方法不得抛出已检查异常

后一个要求似乎已被删除。“如果该方法引发未经检查的异常,则该类不得投入使用”是什么意思?在这种情况下,我应该更喜欢检查的异常而不是未经检查的异常还是这有关系?

请注意,我知道这个类似的问题,但是 Javadoc 已经发生了变化,我对未经检查的场景缺乏理解是吸引我来到这里的原因。

0 投票
0 回答
144 浏览

java - 我可以在 Java 注释中使用 ScopedProxyMode 时访问 JobExecutionContext

我正在尝试创建一个 bean,但遇到了一些问题。这是我目前的配置。

主要问题是没有 ScopedProxyMode,它使用接口并在稍后在作业中尝试使用 bean 时崩溃。但是当我添加范围时,它会在尝试访问作业执行上下文时爆炸。那么我怎样才能用这个 bean 实现这两件事呢?

更新我更改为 @JobScope 并且上下文没有问题,但是在尝试实例化 bean 并打开数据库时出现此异常。

0 投票
1 回答
507 浏览

java - 定义 Bean 时没有限定 Bean

我一直在尝试进行设置,在其中创建实现 JdbcCursorItemReader 的 PostDatedAchInReader,然后将其注入 PostDatedAchInAggregatingJdbcItemReader,后者根据特定标准收集读取对象并将它们分组到一个列表中,该列表基本上按客户端 ID 保留所有 ach 请求组。但是,我不断收到 no qualifying bean 错误,但 bean 在这里并已定义。我很困惑问题是什么或如何解决它。

所以我有以下配置文件

当我运行作业时,我得到以下堆栈跟踪:

我很困惑它是如何说它在类中正确定义时找不到该类型的 bean。

我怎样才能解决这个问题?

0 投票
1 回答
77 浏览

java - 接口方法的默认注解

我有一个界面:

我希望当我实现它时,默认添加@SuppressLint("MissingPermission")被覆盖的方法。像这样:

谁能告诉我,为什么它不添加?