我正在开发 Java EE 7(在 Wildfly 9.0.2 上)应用程序,偶然发现了一篇文章http://www.oracle.com/technetwork/articles/java/intondemand-1444614.html。主要是关于:
过早的可扩展性是一些邪恶的根源
这在我遇到的某些情况下是有道理的。我已将一些类更改为无界面视图。实现本身不是问题,但是测试是。
例如我有这两个类。
@Stateless
public class SomeBean {
public String getText()
{
return "Test text";
}
}
Run Code Online (Sandbox Code Playgroud)
和
@Stateless
public class SomeOtherBean {
@Inject
private SomeBean someBean;
public String getText()
{
return someBean.getText();
}
}
Run Code Online (Sandbox Code Playgroud)
我希望以某种方式最好用模拟对象覆盖 someBean 属性。不改变SomeBean和SomeOtherBean类。我尝试了一些示例,但它们不起作用,例如:https :
//github.com/arquillian/arquillian-showcase/tree/master/extensions/autodiscover/src/test/java/org/jboss/arquillian/showcase /扩展/自动发现
有没有人遇到过这个问题并有解决方案?
我正在尝试收集有关 REST 版本控制的信息。当我查看论坛时,最喜欢的似乎是使用Accept标题。但是,如果我查看 StackExchange、Google、Twitter、Yahoo、Instagram 和 eBay 的 API,它们都通过 URI 使用版本控制。
我不明白为什么他们更喜欢这种方式而不是 HTTP 标头。我想知道事实,而不是意见。有人能帮忙吗?
我试图通过一个例子来理解六边形架构Repository。在此设置中,我有以下几层:框架(基础设施)-> 应用程序-> 域。
我User在域部分,假设我想验证User是否通过DuplicateUsernameValidator. 为了获取此信息,我需要从某处获取此信息。我在领域层又添加了一个接口UserRepository,这样在上面的层就可以解决了。
这对我来说是棘手的部分。我想实现 的逻辑UserRepository,但对我来说在应用程序层实现这个没有意义,因为持久化上下文位于基础设施层(例如JdbcUserRepository或JpaUserRepository)。但是,如果我正确理解六边形结构,我就无法UserRepository直接在基础设施层中实现接口,因为基础设施层不应该知道域层。
我缺少什么?