繁体   English   中英

界面设计模式/ Java / Seam

[英]Interface design pattern / Java / Seam

这有可能吗?

@Name("geolocationService")
public interface GeolocationService
{
   @Query("SELECT g FROM Geolocation geolocation INNER JOIN geolocation.deployment deployment WHERE geolocation.ipStart <= INET_ATON(:ipAddress) AND deployment.active = TRUE")
   Geolocation findByIpAddress(@NamedParameter("ipAddress")final String ipAddress);
}


public GeolocationAction
{
  @In
  private GeolocationService geolocationService;

  @RequestParameter("ipAddress")
  private String ipAddress;

  @Out
  private Geolocation geolocation;

  public void find()
  {
    geolocation = geolocationService.findByIpAddress(ipAddress);
  }
}

是否可以在不实现接口的情况下执行此操作? 使该工作需要什么? 我想少维护多做。

如果我可以截获geolocationService的调用,那么我很高兴,该怎么办? 我不希望将其实例化,因此它将始终为null(那时,我也不需要@Name和@In批注)。

沃尔特

目前,我将所有方法包装在服务中。 我自动找到他们要查找的查询并注入参数(命名或索引)。 这不是我想要的那样干净,但是还有改进的空间。

除了return(null);我在主体中编写没有代码的接口和实现;

沃尔特

首先,接口不应该是接缝组件。 您将如何实例化该接缝组件(接口)?

其次。 您不能像这样使用@Query

第三,你到底在问什么? 我不明白你的问题。

我真的不知道Seam是什么,我也看不到一个简单的段落描述,所以我可能在谈论完全无关的东西。

我已经玩过一些想法,比如只使用一些注释就可以运行SQL过程。 该实现来自动态代理

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM