Tag: annotations

有没有办法让javadoc工具记录注释?

在我的项目中,我们使用了许多注释,这些注释在javadoc API文档中非常有用。 有没有人知道在生成的javadocs中包含注释的简单方法? 我不想编写自己的javadoc插件。 那里有解决方案吗?

如何使用Java 1.6 Annotation Processing执行编译时编织?

我创建了一个注释,将其应用于DTO并编写了Java 1.6样式的annotationProcessor。 我可以看到如何让annotationProcessor编写一个新的源文件,这不是我想要做的,我看不到或者找不到如何修改现有的类(理想情况下只修改字节代码)。 修改实际上是相当简单的,我希望处理器做的就是插入一个新的getter和setter,其名称来自正在处理的注释的值。 我的注释处理器看起来像这样; @SupportedSourceVersion(SourceVersion.RELEASE_6) @SupportedAnnotationTypes({ “com.kn.salog.annotation.AggregateField” }) public class SalogDTOAnnotationProcessor extends AbstractProcessor { @Override public boolean process(final Set annotations, final RoundEnvironment roundEnv) { //do some stuff } }

@PersistenceUnit注释不会创建EntityManageFactory emf = null

我尝试使用Sun Java PetStore演示。 在CatalogFacade类中,有以下注释: @PersistenceUnit(unitName=”myPetStorePU”) private EntityManagerFactory emf; 在CatalogFacade Sun的所有方法中,有: EntityManager em = emf.createEntityManager(); 但是在尝试createEntityManager时,我得到emf的空指针exception。 但是……如果我在该行上方添加以下行 EntityManagerFactory emf = javax.persistence.Persistence.createEntityManagerFactory(“myPetStorePU”); EntityManager em = emf.createEntityManager(); 然后emf成功创建,持久性单元myPetStorePU也成功连接到数据库。 所以它看起来像persistence.xml语法及其位置是正确的。 我想理解为什么注释不起作用,因为我认为只有使用注释而不是在每个方法中添加createEntityManagerFactory行是有原因的。 我的src / META-INF / persistence.xml文件如下所示: Petstore Persistence Unit oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider com.sun.javaee.blueprints.petstore.model.Tag com.sun.javaee.blueprints.petstore.model.SellerContactInfo com.sun.javaee.blueprints.petstore.model.Product com.sun.javaee.blueprints.petstore.model.Item com.sun.javaee.blueprints.petstore.model.Category com.sun.javaee.blueprints.petstore.model.Address com.sun.javaee.blueprints.petstore.model.ZipLocation 编辑:CatalogFacade位于petstore.model包中并实现ServletContextListener com.sun.javaee.blueprints.petstore.model.CatalogFacade 在index.jsp中Sun有以下内容: <% CatalogFacade cf = (CatalogFacade)config.getServletContext().getAttribute("CatalogFacade"); List tags=cf.getTagsInChunk(0, 12); %> […]

需要一个Hibernate中主键@OneToOne映射的示例

有人可以给我一个Hibernate中单向@OneToOne主键映射的例子吗? 我尝试了很多组合,到目前为止,我得到的最好的事情是: @Entity @Table(name = “paper_cheque_stop_metadata”) @org.hibernate.annotations.Entity(mutable = false) public class PaperChequeStopMetadata implements Serializable, SecurityEventAware { private static final long serialVersionUID = 1L; @Id @JoinColumn(name = “paper_cheque_id”) @OneToOne(cascade = {}, fetch = FetchType.EAGER, optional = false, targetEntity = PaperCheque.class) private PaperCheque paperCheque; } 每当Hibernate尝试自动生成上述映射的模式时,它会尝试将主键创建为blob,而不是long,即PaperCheque的id类型。 有人能帮帮我吗 ? 如果我无法得到一个确切的解决方案,那么接近就会有所作为,但我会感激任何回应。

我可以从编译时注释向类添加方法吗?

如果我创建一个自定义注释(例如: @SaveFuncName(“saveMe”)将添加一个名为saveMe()的方法,其中包含我的处理器生成的一些代码),javac编译器是否可以使用我的注释处理器向该类添加方法? 或者我可以只创建一个不同的类?

基于注释的ServiceLocatorFactoryBean?

我想在我的项目中实现Factory模式。我已经浏览了在线资源,我开始知道应该实现Spring ServiceLocatorFactoryBean而不是普通的java工厂模式…. 我已经按照这个链接,但它是基于xml解释….任何人都可以告诉我如何使用基于工厂模式的注释?

Java自定义Annotation聚合多个注释

我正在为我的RestControllers编写一个TestCases 对于每个ControllerTest calss我使用以下注释 @WebAppConfiguration @RunWith(value = SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = {WebConfig.class, TestAppConfig.class}) 所以,我决定定义我自己的注释,包含所有这些注释 @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @WebAppConfiguration @RunWith(value = SpringJUnit4ClassRunner.class) @ContextConfiguration(classes = {WebConfig.class, TestAppConfig.class}) public @interface ControllerTest { } 然后,我只为所有的ControllerTest classes使用了一个注释 @ControllerTest public class XXControllerTest { } 在此修改后,测试失败了 java.lang.IllegalArgumentException: WebApplicationContext is required at org.springframework.util.Assert.notNull(Assert.java:115) 为了让它再次起作用,我需要将@RunWith(SpringJUnit4ClassRunner.class)添加到Test class @ControllerTest @RunWith(SpringJUnit4ClassRunner.class) public class XXControllerTest { } 我的问题是为什么我的@ControllerTest注释在包含@RunWith(SpringJUnit4ClassRunner.class)注释时@RunWith(SpringJUnit4ClassRunner.class) ? […]

@Javax.persistence.Lob注释在JPA中有什么意义?

我什么时候应该在JPA中使用@javax.persistence.Lob注释? 此注释可以注释哪些数据类型?

Java8,如何在visitMethodInvocation中发现类和方法名?

对于Java7和Java8,我想在调用某些方法时生成警告。 如果在用户编译时存在特定的jar,则将打印该警告。 我编写了一个Annotation Processor并捕获了visitMethodInvocation()。 现在,我想要提取类和方法名称将被调用。 有可能吗? 或者如何处理这个?

JPA 2.0:什么是javax.validation。*包?

什么是java ee中的javax.validation.*包,如何在JPA 2.0中使用它? 我想用@NotNull注释validation我的Enity。 我的JPA实现是Hibernate: public class Employee implements Serializable , EmployeeDetail { private static final long serialVersionUID = 1L; @Id @GeneratedValue private int id; private String name; private long salary; …