Tag: annotations

当用@PostConstruct标记的方法调用时?

在JSF请求处理生命周期的哪个阶段,用@PostConstruct标记的支持bean方法调用?

Spring Data JPA – 注入失败 – BeanCreationException:无法自动assembly字段

我按照这里发布的教程获得了一个基础应用程序来使用Spring Data JPA。 现在,我如何理解,使用配置 应该导致Spring Data JPA扫描的包用于扩展JpaRepository接口并创建它的JpaRepository bean,因此可以使用简单的Spring @Autowired在我的服务类中的任何地方使用它。 但它失败了,说它无法找到一个带有className的bean(这是bean在创建时获得的默认名称,只需使用去大写的ClassName)。 但是,当我在我的applicationContext中配置bean manualy时,如下所示: Spring能够找到豆子。 我当然得到一个错误,因为我想从一个接口创建一个bean,这显然是行不通的。 但问题是,看起来Spring Data JPA“自动bean创建”似乎以某种方式失败了。 我附上相关代码,以便您查看。 顺便说一句,我应该提一下,我正在开发一个portlet,所以不要奇怪为什么我没有spring-config。 我目前只使用applicationConfig和一个MyPortlet-Portlet.xml进行portlet配置(但这不应该与此问题相关)。 我添加了import语句只是为了确保我没有使用错误的注释/类。 applicationContext.xml中 // JPA specific configuration here: dataSource, persistenceUnitManager exceptionTranslator, entityManagerFactory, SessionFactory, transactionManager – should not be relevant for this problem, tell me if i’m wrong ICustomerService – 只是CustomerService的一个接口 import model.entities.Customer; public interface ICustomerService { […]

@WebParam的@XmlElement(required = true)不起作用

我正在使用JAX-WS构建Web服务。 我有一个奇怪的问题,@ @XmlElement(required=true)的注释@XmlElement(required=true)在某些@WebService类中有效,但在其他一些类中不起作用。 我在两个@WebService类中有非常相似的代码。 什么可能导致这个问题? 参数类型还是实体类? 编辑:添加示例代码 我有两个Web服务: @WebService(name = “ClubMemberPortType”, serviceName = “ClubMemberService”, portName = “ClubMemberSoapPort”, targetNamespace = “http://club.com/api/ws”) public class ClubMemberWS { @WebMethod(operationName = “findClubMembersByClubId”, action = “urn:findClubMembersByClubId”) @WebResult(name = “club_membership”) public List findClubMembershipsByClubId(@XmlElement(required=true) @WebParam(name = “club_id”) String clubId, @WebParam(name = “status”) StatusEnum status){ … }} 和 @WebService(name = “ClubPortType”, serviceName = “ClubService”, […]

什么是Java中的注释处理?

引用, Sun的官方Java教程 只有在明确请求注释处理时,才接受类名“HelloWorldApp” 这是什么意思? 以及如何应用它?

注释驱动的dependency injection,处理不同的环境

我认为许多专业人士没有转向注释驱动的dependency injection的主要原因是它不支持在开发/测试/生产环境之间切换。 出于开发目的,在许多情况下,您不仅使用不同的服务(以及它们的连接),但有时您需要模拟它们,或创建Dummy实例。 昨天我找到了一个带有Spring注释的解决方案: @Value(“#{${env} == “production” ? realService : dummyService}”) private SomeService service; ……哪个应该有用,但不好看。 我会对你的解决方案或论点非常感兴趣:为什么它不是一个真正的问题;-) Guice,Spring或任何其他人都欢迎。 最初的问题是这个主题的一部分: Spring @Autowired用法 ,但我认为值得创建一个新线程。

将外化值注入Spring注释

我一直在考虑在编译时评估注释值的Java特性,它似乎真的难以外化注释值。 但是,我不确定它是否真的不可能,所以我很感激任何建议或明确的答案。 更重要的是,我试图外化一个注释值来控制Spring中预定方法调用之间的延迟,例如: public class SomeClass { private Properties props; private static final long delay = 0; @PostConstruct public void initializeBean() { Resource resource = new ClassPathResource(“scheduling.properties”); props = PropertiesLoaderUtils.loadProperties(resource); delay = props.getProperties(“delayValue”); } @Scheduled(fixedDelay = delay) public void someMethod(){ // perform something } } 假设scheduling.properties位于类路径上,并包含属性键delayValue及其对应的long值。 现在,这段代码有明显的编译错误,因为我们试图为final变量赋值,但这是必须的,因为我们不能将变量赋值给注释值,除非它是static final 。 有没有办法解决这个问题? 我一直在考虑Spring的自定义注释,但根本问题仍然存在 – 如何将外化值分配给注释? 欢迎任何想法。 编辑:一个小的更新 […]

Java:基于注释的代码注入的简单技术?

有没有办法让这个代码工作? LogonControl.java @Audit(AuditType.LOGON) public void login(String username, String password) { // do login } AuditHandler.java public void audit(AuditType auditType) { // persist audit } 结束游戏,每次调用login()时,也会调用audit(),并使用相应的audittype。 我想AOP可能是解决方案,但我希望它尽可能简单(我看过的AspectJ教程通常都有非常复杂的注释)。 注意:我不想预定义将调用audit的方法,我是为可扩展框架编写的,其他人可能需要使用它。

Proguard vs Annotations

我有一个使用ActiveAndroid的应用程序,它是一个依赖于注释的数据库ORM库。 @Table(name=”test”) public class DatabaseItem extends ActiveRecordBase { public DatabaseItem(Context context) { super(context); // TODO Auto-generated constructor stub } @Column(name=”counter”) public int counter; } 我如何让Proguard与之合作得很好? 目前,我在使用Proguard时遇到ActiveAndroid没有找到列名的错误。 我想它以某种方式破坏了注释。 我的相关Proguard配置: #ActiveAndroid -keep public class com.activeandroid.** -keep public class * extends com.activeandroid.ActiveRecordBase -keepattributes Column -keepattributes Table

@OneToOne(可选= false)和@JoinColumn(nullable = false)一起使用

我在JPA 2.0 FR规范11.1.37中遇到了这个例子。 OneToOne注释,第403页: @OneToOne(optional=false) @JoinColumn(name=”CUSTREC_ID”, unique=true, nullable=false, updatable=false) public CustomerRecord getCustomerRecord() { return customerRecord; } 我有什么理由把@OneToOne(optional=false)放在同一时间放@JoinColumn(… nullable=false) ? 这两个声明不一样吗? 其中一个不是多余的吗? 它们都用于DDL模式生成吗?

如何使用Hibernate / JPA注释覆盖GenerationType策略?

我正在考虑使用Annotations来定义我的Hibernate映射,但遇到了一个问题:我想使用基本实体类来定义公共字段(包括ID字段),但我希望不同的表具有不同的ID生成策略: @MappedSuperclass public abstract class Base implements Serializable { @Id @Column(name=”ID”, nullable = false) private Integer id; public Integer getId(){return id;} public void setId(Integer id){this.id = id;} … } @Entity @Table(name=”TABLE_A”) public class TableA extends Base { // Table_A wants to set an application-defined value for ID … } @Entity @Table(name=”TABLE_B”) public class TableB extends […]