小编sup*_*sky的帖子

如何处理Mockito中不匹配的参数?

我喜欢做以下的事情:

.when( 
    myMock.doSomething(
        Matchers.eq( "1" )
    ) 
)
.thenReturn( "1" )
.othwerwise()
.thenThrow( new IllegalArgumentException() );
Run Code Online (Sandbox Code Playgroud)

当然,otherwise()方法不存在,只是为了向您展示我想要完成的任务.

java junit mockito

21
推荐指数
3
解决办法
1万
查看次数

使用jQuery创建元素时,"click"和"onclick"之间有什么区别?

有什么区别

$("<a>", {
    "id" : "myId",
    "text" : "my link",
    "href" : "#",
    "onclick" : function() { return false; }
);
Run Code Online (Sandbox Code Playgroud)

$("<a>", {
    "id" : "myId",
    "text" : "my link",
    "href" : "#",
    "click" : function() { return false; }
);
Run Code Online (Sandbox Code Playgroud)

javascript jquery

9
推荐指数
1
解决办法
6641
查看次数

应该何时在Play框架中返回Promise而不是实际结果?

我对Play Framework比较陌生.我正在处理的当前项目有大量Promise的服务层组件返回到控制器.我想知道这是不是最好的做法.在我看来,使用Promises确实使源头变得混乱.而且我必须过于频繁地使用final修饰符,只是为了让Function我需要为这些Promises 创建匿名的局部变量,参数和类成员.它甚至影响我创建单元测试用例的方式.诚实地说它很丑陋,而且代码行数太多而不是必要的.我甚至不确定我们是否正确行事,我觉得我们过度使用了Promises.

我顺便使用Java.

所以,当我应该使用Promise,当我应该返回Promise,我应该何时使用Promise?我们所有的服务和接口都应该返回Promise吗?有没有更好的方法呢?请用简单的英语.

java playframework playframework-2.0 playframework-2.2

9
推荐指数
2
解决办法
4967
查看次数

如何在Play Framework中处理会话超时或到期?

我想知道用户的会话是否已在服务器端过期,并在发生这种情况时执行某些操作.我该怎么做呢?

我正在使用Java和Play框架2.2.1.

java playframework playframework-2.0 playframework-2.2

8
推荐指数
1
解决办法
6421
查看次数

为什么JDBC在保存日期时会将时间调整为默认时区?

这个问题与有关,但这个具体问题侧重于原因。所以不,这不是重复的。

引用答案:

问题是 Java Date 对象不存储时区。该值始终采用 UTC,并在给定的时区(通常是 JVM 的默认时区)中解析和格式化。

Oracle DATE 列也没有时区存储,但应表示用户看到的日期。在 99.99% 的情况下,这意味着 JVM 的默认时区中的日期。

因此,JDBC 驱动程序采用 UTC 格式的时间戳/日期值,将其转换为默认时区,并将其保存到数据库中。

  1. 不按原样调整和保存值 (UTC) 到底有什么问题?
  2. 它试图通过在将值保存到数据库之前调整值来解决什么问题?

这些问题的答案就是为什么。

我看不到设计的好处,我只能看到与之相关的问题。一个恰当的例子是在特定时区完成保存而在另一个时区完成检索。在这个特定主题上抛出的问题数量正好证明了我的观点。

所以最终的问题是,为什么它是这样设计的?原因是什么?

java timezone date jdbc ojdbc

7
推荐指数
1
解决办法
5421
查看次数

如何使用 H2 嵌入式数据库获取序列中的下一个值?

背景

我使用 Oralce 作为数据库,使用 H2 Embedded 内存数据库进行集成测试。

我在 H2 中创建了一些表并能够获取一些插入的数据。但是,我无法检索我在 H2 中创建的序列的当前序列值。

我知道 Oracle 和 H2 不一样,并且使用相似但不同的语法。我还知道您可以在 H2 内存数据库中定义一些别名并嵌入 java 代码来代替 Oracle SQL 函数。这给了我一个提示,即必须有一个解决方法,可以通过 H2 数据库使用 Oracle 语法检索序列值。

问题

如何使 Oracle 选择序列当前值的语法适用于 H2?我是否需要创建别名并编写嵌入式 java 代码来代替 Oracle 语法?我有什么选择?

被测代码使用以下假设但类似的 SQL

select myschema.mysequence.nextval from dual
Run Code Online (Sandbox Code Playgroud)

但我收到如下错误

org.h2.jdbc.JdbcSQLSyntaxErrorException: Column "nextval" not found [42122-199]
Run Code Online (Sandbox Code Playgroud)

由于语法的差异,很明显这是行不通的。我正在寻找一种解决方法,而无需更改使用 Oracle 语法的正在测试的代码。

更新

我正在使用 Spring JDBC 的 EmbeddedDatabaseBuilder,这意味着我不会连接到单独的独立 H2 数据库实例,而是连接到动态创建的实例,其中包含 DDL 脚本来创建 DB 对象。

以下帖子以及已接受的答案帮助解决了这个问题。

Spring嵌入式数据库支持不同的SQL方言吗?

java integration-testing h2 spring-jdbc

7
推荐指数
1
解决办法
2万
查看次数

是否存在可以在组内返回第一个非空值的聚合函数?

我正在使用Oracle XE 10g.

请你仔细阅读我的问题.我有一个奇怪的用例,但请耐心等待.

假设我有以下记录:

Table person
Name  YearOfBirth
a     null
a     2001
a     2002
b     1990
b     null
c     null
c     2001
c     2009
Run Code Online (Sandbox Code Playgroud)

基本上如果我执行以下查询:

select
  p.Name, max(p.YearOfBirth)
from
  person p
group by
  p.Name
Run Code Online (Sandbox Code Playgroud)

这将为我提供具有不同名称的记录,并且每个不同的名称将与其组内的YearOfBirth的最大值配对.在给定的示例中,Name ='a'的组,最大YearOfBirth是2002.

如果max()是一个返回给定组中列的最大值的聚合函数,是否有一个函数返回该组中非空的第一个值而不是给我最大值,我想要你能找到的第一个值,只要它不是null.

请不要问我为什么我不能简单地使用min()或max()代替.

显然我不能在这里使用rownum,因为这样做会限制我可以获得的组数.

sql database oracle plsql oracle10g

6
推荐指数
1
解决办法
1万
查看次数

如何获取使用特定注释注释的对象的所有字段和属性?

如何获取使用特定注释注释的对象(而不是类)的所有字段和属性,而不迭代其所有字段或属性描述符?

我的目标是避免不必要的迭代通过显然甚至没有注释的每个字段或属性,例如getClass()或不是实例的字段或成员变量的类的任何字段.

或迭代是唯一的方法吗?没有其他更好的方法吗?

java reflection

6
推荐指数
1
解决办法
3135
查看次数

为什么允许BiConsumer分配仅接受单个参数的函数?

说出以下示例:

public class MyConsumer {
    public void accept(int i) {}
    public static void biAccept(MyConsumer mc, int i) {}
}

public class BiConsumerDemo {

    public void accept(int i) { }
    public static void biAccept(MyConsumer mc, int i) { }

    private void testBiConsume() {
        BiConsumer<MyConsumer, Integer> accumulator = (x, y) -> {}; // no problem, method accepts 2 parameters
        accumulator = MyConsumer::accept; // accepts only one parameter and yet is treated as BiConsumer
        accumulator = MyConsumer::biAccept; // needed to be static
        accumulator …
Run Code Online (Sandbox Code Playgroud)

lambda java-8

6
推荐指数
1
解决办法
282
查看次数

Spring如何知道需要注入代理对象的位置?

根据我的印象,RmiProxyFactoryBean应该生成一个代理对象实例,该实例的类型AccountService将在以下代码中注入实例的accountService属性SimpleObject.

我不明白为什么XML文件似乎指示Spring向对象实例的属性注入RmiProxyFactoryBean类型accountServiceSimpleObject对象?我期待XML文件中的显式指令告诉Spring如何AccountServiceRmiProxyFactoryBean实例获取实例而不是注入RmiProxyFactoryBean实例.我发现这令人困惑.

public class SimpleObject {

    private AccountService accountService;

    public void setAccountService(AccountService accountService) {
        this.accountService = accountService;
    }
}


<bean class="example.SimpleObject">
    <property name="accountService" ref="accountService"/>
</bean>

<bean id="accountService" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
    <property name="serviceUrl" value="rmi://HOST:1199/AccountService"/>
    <property name="serviceInterface" value="example.AccountService"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

来源: http ://static.springsource.org/spring/docs/2.5.x/reference/remoting.html(见17.2.2.)

谢谢

java spring

5
推荐指数
2
解决办法
1445
查看次数