问题标签 [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.
java - 使@XmlElements 动态化
注释类型的文档@XmlElements
有这个例子:
当您只有几个需要在列表中的已知类型时,这非常有用。我正在寻找一种使其更具动态性的方法,以便在将新元素添加到系统类时Foo
不需要修改。
首先想到的是使用一些自定义注释。让我们调用它@XmlElementType
,它有一个 type 属性,可以应用于元素(Integer
、Float
等)。当然,这不能对预定义类型执行,它只适用于新类型。
然后将注释的变体@XmlElements
应用于List
class 中的项目Foo
。它将有一个属性来指示@XmlElementType
它可以包含的类型,也许是一个用于扫描 POJO 的包。
所以我有两个问题:
- 这样的东西已经存在了吗?
- 如果没有,可以实施这样的事情吗?如果是,现在?
java - 根据 Java 环境变量中的值创建使用 @JsonIgnore 的自定义注释
我需要创建一个新注释,用于在环境变量var == false
. 我尝试使用JsonAnnotationIntrospector
,但无法获得预期的输出。
这里我需要删除vehicle_model
环境变量时的属性var == false
。
这是我的自定义注释的声明。有人可以告诉我应该如何编写 Introspector 部分来获得我需要的功能吗?
提前致谢。
编辑:我的尝试JacksonAnnotationIntrospector
的实现ObjectMapper
是
java - 为什么注释没有保留在类文件中
如果它定义了以下注释:
然后使用它定义以下接口:
如果我然后运行以下命令:
javac MyClass.java
javap MyClass.class
然后我的输出是:
编译自“MyClass.java”
公共接口 MyClass { }
所以在我看来,注释没有被保留?如果是这样,为什么会这样?
java - JAVA自定义注释:在特定条件下限制注释参数
我开始学习 java 注释,我想用它作为某种生成器标签。我只想生成随机文本、仅数字或文本和数字。
这是我的自定义注释:
到目前为止,一切都很好。如果客户端使用,我正在使用枚举来提供一些额外的定义。这是初始化:我有一个使用注释的类
但是正如你所看到的,我可以使用GeneratorTypeEnum.NUMBERS_ONLY
WITHcaseType GeneratorCaseTypeEnum.TO_LOWER_AND_UPPER
显然不好,因为没有大小写数字。
枚举:
生成器类型枚举
GeneratorCaseTypeEnum
问题:
- 有没有办法限制注释中的参数?
- 如果问题 #1 错误,您能否给出您的理论或意见,如果这些对初学者不友好,您能否提供一些参考链接。
答案将不胜感激。
PS:我感觉很糟糕,因为我是初学者,所以我无法给出任何尝试和错误的解决方案。
java - Spring Boot 在运行时获取主类的名称
我正在尝试根据Scanning Java annotations at runtime中的答案编写自定义注释扫描器。
但是,为了加快进程,我只想扫描主包下的类(包含主类及其子包的包)。认为确定包名称的最简单方法是来自主类。
我正在编写的代码最终会在一个库中,供 Spring Boot 应用程序使用。所以我无法知道主类的名称。有没有办法在 Spring Boot 应用程序运行时确定主类的名称?
问候,
阿努普
java - @PostConstruct 和未经检查的异常
我很难理解 Javadoc 的@PostConstruct
. 它说:
如果该方法抛出未经检查的异常,则该类不得投入使用,除非 EJB 可以处理异常,甚至从异常中恢复
在 Java 的早期版本中,文档如下:
该方法不得抛出已检查异常
后一个要求似乎已被删除。“如果该方法引发未经检查的异常,则该类不得投入使用”是什么意思?在这种情况下,我应该更喜欢检查的异常而不是未经检查的异常还是这有关系?
请注意,我知道这个类似的问题,但是 Javadoc 已经发生了变化,我对未经检查的场景缺乏理解是吸引我来到这里的原因。
java - 我可以在 Java 注释中使用 ScopedProxyMode 时访问 JobExecutionContext
我正在尝试创建一个 bean,但遇到了一些问题。这是我目前的配置。
主要问题是没有 ScopedProxyMode,它使用接口并在稍后在作业中尝试使用 bean 时崩溃。但是当我添加范围时,它会在尝试访问作业执行上下文时爆炸。那么我怎样才能用这个 bean 实现这两件事呢?
更新我更改为 @JobScope 并且上下文没有问题,但是在尝试实例化 bean 并打开数据库时出现此异常。
java - 定义 Bean 时没有限定 Bean
我一直在尝试进行设置,在其中创建实现 JdbcCursorItemReader 的 PostDatedAchInReader,然后将其注入 PostDatedAchInAggregatingJdbcItemReader,后者根据特定标准收集读取对象并将它们分组到一个列表中,该列表基本上按客户端 ID 保留所有 ach 请求组。但是,我不断收到 no qualifying bean 错误,但 bean 在这里并已定义。我很困惑问题是什么或如何解决它。
所以我有以下配置文件
当我运行作业时,我得到以下堆栈跟踪:
我很困惑它是如何说它在类中正确定义时找不到该类型的 bean。
我怎样才能解决这个问题?
java - 接口方法的默认注解
我有一个界面:
我希望当我实现它时,默认添加@SuppressLint("MissingPermission")
被覆盖的方法。像这样:
谁能告诉我,为什么它不添加?