草庐IT

Annotations

全部标签

java - 创建自定义 Jackson 注释

一个项目需要大量使用Jackson注解的如下组合。那么,有没有办法创建另一个注释来避免丑陋的复制/粘贴:publicclassA{@JsonProperty("_id")@JsonSerialize(using=IdSerializer.class)@JsonDeserialize(using=IdDeserializer.class)Stringid;}publicclassB{@JsonProperty("_id")@JsonSerialize(using=IdSerializer.class)@JsonDeserialize(using=IdDeserializer.class)

java - 在 Java 中为什么出现此错误 : 'attribute value must be constant' ?

我有一些TestNG代码,我在其中传递了一个名为timeOut=TESTNG_TEST_TIMEOUT的测试注释参数。@Test(description="Testssomething.",groups={"regression"},timeOut=TESTNG_TEST_TIMEOUT,enabled=true)在我的TestBase类中我有这个成员:publicfinalstaticlongTESTNG_TEST_TIMEOUT=TimeUnit.MINUTES.toMillis(5);当我使用上面的代码行时,我在Eclipse中收到“属性值必须是常量”错误。但是,如果我像这样简单

Java 注释处理器 : Check if TypeMirror implements specific interface

我正在使用Java注释处理器。我的注释@foo用于标记可以在运行时读取到文件或从文件中读取的字段变量。但是,我想在编译时检查变量类型是否实现了Serializable,这样如果该字段不可序列化,我可以在编译时给出警告/错误。(我不需要实际检查对象是否可序列化,如果它实现了Serializable接口(interface),我会相信它)。我已经想出了如何做其他的事情,但我不知道如何检查元素是否实现了Serializable。我可以使用TypeElement#getInterfaces方法,但我不知道如何检查返回的这些TypeMirror是否是Serializable.另外,如果有人碰巧知

java - 使用注释进行异常处理?

假设我有一个抛出某种异常的方法。异常抛出代码位于访问外部服务的第三方库中。我有几个类在处理外部服务方面做了大量工作,并且在整个过程中有很多异常处理来处理潜在的问题。我遇到的问题是我可能有很多异常,但如果有的话,我可能只需要执行几个操作之一,并且有大量的try/catchblock。异常的类型甚至可能不相关,或者不同的方法可能抛出相同类型的异常,但需要根据抛出异常的方法采取不同的操作。我正在寻找的是一个注释,它可以取代try/catch并简单地指示在该方法中出现异常时要采取的行为。我知道SpringApsectJ可以做这类事情,但我目前无法轻松添加任何新的依赖项或修改pom以调整现有的依

java - Xstream:删除类属性

如何删除Xstream中的class=”Something”属性。我使用带注释的Xstream 最佳答案 我看了它的代码,发现如果你的class不是mapper.defaultImplementationOf(fieldType),它会为你添加默认的class属性,除非class属性名是null;所以,设置这个可以去掉class=”Something”属性xstream.aliasSystemAttribute(null,"class"); 关于java-Xstream:删除类属性,我们

java - 一名测试观察员报告 JUnit Suite 中各个测试的结果

所以我有一个套件,像这样:@RunWith(Suite.class)@Suite.SuiteClasses({TestClass1.class,TestClass2.class,TestClass3.class})publicclassTestSuite{staticListextentTestList=newArrayList();@ClassRulepublicstaticExtentWatcherextentWatcher=newExtentWatcher(){@Overrideprotectedvoidstarting(Descriptiondescription){exten

java - 向继承方法添加注释的最佳方法

我有许多抽象父类(superclass),我的具体类从中继承了各种方法。其中一些方法需要在具体类中放置JPA或JAXB注释。目前我通过以下方式做到这一点:@MyLocalAnnotations@OverridepublicmethodinheritedMethodHere(yaddayadda){super.inheritedMethodHere(yaddayadda);}有没有办法在不覆盖方法的情况下做到这一点?重写一个方法只是为了提供本地注释似乎是一种浪费。 最佳答案 不幸的是,没有比您现在正在做的更好的方法了。考虑到您的JPA

java - APT(注解处理工具)

我试图找到简单的例子来理解apt命令的用法,但找不到有用的资源。我已经提到了这个GettingStartedwiththeAnnotationProcessingTool但我确实得到了高层次的理解。此外,我想编写一个代码来测试apt命令。有人可以发布一个简单的示例或更好的链接以供引用吗? 最佳答案 下面是创建Note注释和关联处理器的示例:APT:Compile-TimeAnnotationProcessingwithJava更新。从Java1.7开始:JSR269,alsoknownastheLanguageModelAPI,ha

java - 如何使用 hibernate JPA 注释映射嵌套集合 Map<Key,List<Values>>?

我有一门课,我不确定如何正确注释。我对Holder::data的目标:List应该不是通过比较器而是通过数组中元素的自然顺序来维护顺序。(如果有帮助,可以是ndx列。)Holder将拥有对数据的唯一引用,因此Cascadeall可能也适用。我也对移除map的不同设计持开放态度,如果这样可以使设计更简洁的话。@EntitypublicclassHolderextendsDomainObject{privateMap>data;}@EntitypublicclassElementextendsDomainObject{privatelongvalueId;privateintotherDa

java - 使用 Hibernate/JPA 根据具体情况从 @Embedded 属性中排除字段

我正在将Hibernatehbm.xml文件中的一些类迁移到JPA注释。我们有一个可嵌入的类Address用于多个地方。每个地方都使用Address中不同的属性子集。(为简洁起见省略了getter/setter)@EmbeddablepublicclassAddress{Stringemail;Stringaddress;Stringcity;Stringstate;Stringzip;Stringcountry;}@Entity@Table(name="customer")publicclassCustomer{@Embedded@AttributeOverrides({@Attri