Tag: annotations

Spring STOMP从应用程序的任何位置发送消息

我正在构建一个使用Stomp通过websockets代理消息的应用程序。 我试图从服务器发送消息到客户端,而无需来自应用程序的任何地方的请求。 我在网上找到两个单独的选择,用于从应用程序的任何位置发送消息 第一个是在Websocket文档中找到的。 第20.4.5节: @Controller public class GreetingController { private SimpMessagingTemplate template; @Autowired public GreetingController(SimpMessagingTemplate template) { this.template = template; } @RequestMapping(value=”/greetings”, method=POST) public void greet(String greeting) { String text = “[” + getTimestamp() + “]:” + greeting; this.template.convertAndSend(“/topic/greetings”, text); } } 第二个是由一位Spring Blogger撰写的指南 : @Controller public class GreetingController { @Autowired private SimpMessagingTemplate template; […]

Java EE 6和Singletons

任何人都可以解释在Java EE 6应用程序中实现Singleton的完整过程吗? 我假设我不应该以声明静态变量的典型方式创建单例,而应该使用@Singleton注释? 我必须这样做吗? 这只是宣告@Singleton的情况吗?就是这样吗? 我还要上课了吗? 那么我需要做什么才能访问其他类中的单例?

使用基于注释的配置创建延迟初始化的Spring bean

我使用Spring的@Component注释来配置Spring 3.0应用程序中的许多bean。 我想知道是否可以懒惰地构建一些这些豆 – 特别是prototype豆?

需要一些帮助才能理解Anotations – Spring annotations

我正在努力学习Spring和Hibernate,我真的很难理解Annotations以及它们是如何工作的。 我在互联网上看到的大部分示例都是基于注释的示例,因此我需要先了解注释的工作原理才能学习Spring或Hibernate 我知道它们是什么以及它们的用途。 我知道他们会替换xml配置。 即您可以使用注释在Java代码中直接配置bean。 我不明白的是如何使用它们以及何时可以使用它们。 试着理解如何做到这一点我认为如果我看到两者之间的差异会有所帮助。 我这里有一个简单的Spring程序。 如果我要将此示例程序转换为使用注释我需要做什么? 我想这样做的原因是因为我在下面提供的程序是我非常理解的程序(我正在阅读的Spring in Action书中的一个例子)。 如果它被转换为注释版本,我将了解注释的使用方式和位置。 有什么建议么? 提前致谢 instrumentalist.xml 工具主义界面 package com.sia.ch1.instrumentalist; public interface Instrument { void play(); } 乐器演奏者 package com.sia.ch1.instrumentalist; import com.sia.ch1.performer.PerformanceException; import com.sia.ch1.performer.Performer; public class Instrumentalist implements Performer{ private Instrument instrument; private String song; public Instrumentalist(){} public void perform() throws PerformanceException{ System.out.print(“Playing ” + song […]

使用@PreUpdate的问题

我有以下课程: @MappedSuperclass public abstract class MappedModel { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = “id”, nullable = false, unique = true) private Long mId; @Temporal(TemporalType.TIMESTAMP) @Column(name = “rec_created_dtm”, nullable = false, updatable = false) private Date recordCreatedDTM; @Column(name = “rec_cre_user_id”, nullable = true, updatable = false) private Long recordCreatedUserId; @Temporal(TemporalType.TIMESTAMP) @Column(name = “last_update_dtm”, nullable = false) […]

如何在Maven 2中使用自定义注释处理器?

在我们的企业应用程序中,我们正在寻找一种从Java类中收集数据的动态方法。 我们创建了一个带有name属性的自定义注释接口( @interface )。 我们想从所有带注释的类中收集此属性的值。 我设法为自定义注释创建AnnotationProcessorFactory和AnnotationProcessor 。 由于我们使用的是Maven 2,因此我将以下内容添加到主项目的pom.xml中的插件中。 org.codehaus.mojo apt-maven-plugin 1.0-alpha-5 our.company.api.component.lister.ComponentAnnotationProcessFactory 这属于主项目,有几个子项目。 工厂和定制处理器属于这些子项目之一。 自定义注释分散在所有子项目中,这就是我将插件放在主项目的pom.xml中的原因。 问题是当我发出mvn apt:process命令时,我收到了关于没有处理器的注释的警告,我们的自定义注释就在其中。 我认为这意味着该插件无法找到工厂类。 我应该怎么做才能让插件找到工厂和处理器文件? 编辑: 项目层次结构非常简单: main_project |-sub_project1 |… |-sub_projectn 该插件位于main_project的pom.xml中。 假设工厂和处理器在sub_project1 ,自定义注释在sub_project2 , sub_project3 ,…, sub_projectn

注释处理器,获取方法参数的修饰符

我目前正处于一个使用Java自定义注释的项目中。 我想强制我的注释的用户,如果他用@Foo注释了方法,他必须在方法参数列表中至少声明一个final boolean b 。 所以看起来应该是这样的: @Foo public void foo(final boolean b) { } @Foo public void bar() { } // This should result in an error 使用我的注释处理器,我可以检索变量的类型, 但不能检索最终修饰符 。 如果我想检索修改器集,如下面的代码所示,虽然最终修饰符出现在参数上,但该集将始终为空。 for (VariableElement parameter : method.getParameters()) { Set modifiers = parameter.getModifiers(); // This set is always empty } 任何想法,为什么会这样? 我错过了什么吗?

如何在Hibernate中持久化非实体子类中的实体

我试图将实体扩展为非实体,用于填充超类的字段。 问题是,当我尝试保存它时,Hibernate会抛出MappingException。 这是因为即使我将ReportParser强制转换为Report,运行时实例仍然是ReportParser,因此Hibernate抱怨它是一个未知实体。 @Entity @Table(name = “TB_Reports”) public class Report { Long id; String name; String value; @Id @GeneratedValue @Column(name = “cReportID”) public Long getId() { return this.id; } public void setId(Long id) { this.id = id; } @Column(name = “cCompanyName”) public String getname() { return this.name; } public void setName(String name) { this.name = […]

inheritance类注释

有没有办法让类inheritance超类的注释? 例如 @ApplicationException(rollback=true) public abstract class AbstractBeanActionException extends Exception { /* method body is simply calls to super() */ } public class OrderBeanException extends AbstractBeanActionException { /* does this class have to be annotated as well ? */ }

处理方法体内的注释

我正在使用Pluggable Annotation Processing API处理java注释。 是否有可能同时处理方法体内使用的注释? 感谢帮助。 彼得