小编mem*_*und的帖子

如何模拟私有dao变量?

dao.create()在测试方法时,我有一个想要模拟的调用.但我错过了一些东西,因为我还在接受NPE.这有什么不对?

class MyService {
    @Inject
    private Dao dao;

    public void myMethod() {
        //..
        dao.create(object);
        //
    }
}
Run Code Online (Sandbox Code Playgroud)

如何模拟dao.create()调用?

@RunWith(PowerMockRunner.class)
@PrepareForTest(DAO.class)
public void MyServiceTest {

    @Test
    public void testMyMethod() {
        PowerMockito.mock(DAO.class);

        MyService service = new MyService();
        service.myMethod(); //NPE for dao.create()
    }
}
Run Code Online (Sandbox Code Playgroud)

java junit mockito powermock

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

如何使用流重写重复项来创建HashMap?

我正在创建一个HashMap使用java8 streamAPI,如下所示:

Map<Integer, String> map = dao.findAll().stream()
    .collect(Collectors.toMap(Entity::getType, Entity::getValue));
Run Code Online (Sandbox Code Playgroud)

现在,如果将一个元素添加到已存在该键的集合中,我只想将现有元素保留在列表中并跳过

附加元素.我怎样才能做到这一点?可能是我要利用BinaryOperation<U>toMap(),但任何人都可以提供

我的具体案例的一个例子?

java java-8 java-stream

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

如何将LocalDateTime转换为GregorianCalendar?

如果无法解析简单的日期时间,为什么可以将LocalDateTime对象传递给ZonedDateTime.from()方法,如下所示?

@Test
public void test() throws Exception {
    GregorianCalendar.from(ZonedDateTime.from(LocalDateTime.parse("2016-08-31T23:00:59")));
}
Run Code Online (Sandbox Code Playgroud)

结果:

java.time.DateTimeException: Unable to obtain ZonedDateTime from TemporalAccessor: 2016-08-31T23:00:59 of type java.time.LocalDateTime
    at java.time.ZonedDateTime.from(ZonedDateTime.java:565)
Run Code Online (Sandbox Code Playgroud)

java java-time

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

如何将多个注释合并为一个?

我有两个来自框架的注释。我经常在同一个字段上使用这两个注释。因此,我试图创建一个包含两者的“组合”注释。

但我不知道这是否可能:

现有的注释(我无法控制):

@Target({ElementType.PARAMETER, ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiParam {
    String name() default "";
}

@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiModelProperty {
    String name() default "";
}
Run Code Online (Sandbox Code Playgroud)

正在尝试创建的自定义注释

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
@ApiParam
@ApiModelProperty
public @interface SwaggerParam {
     String name() default "";
}
Run Code Online (Sandbox Code Playgroud)

结果:注解不适用于注解类型

问:有机会吗?

java spring annotations

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

如何迭代json对象的所有子节点?

我想遍历json对象的所有节点,并写出一个简单的键值映射,如下所示:

{
    "name": [
        {
            "first": "John",
            "last": "Doe",
        "items": [
            {
                "name": "firstitem",
                "stock": 12
            },
            {
                "name": "2nditem",
                "stock:" 23
            }               
        ]
        }],
    "company": "John Company"
}
Run Code Online (Sandbox Code Playgroud)

应导致:

name-first-1=John
name-last-1=Doe
name-items-name-1-1=firstitem (meaning the list index is always appended at the end of the name)
name-items-name-1-2=2nditem
company=John Company
Run Code Online (Sandbox Code Playgroud)

这是如何将json字符串作为json对象获取:

ObjectMapper mapper = new ObjectMapper(); //using jackson
JsonNode root = mapper.readTree(json);
//TODO how loop all nodes and subnodes, and always get their key + value?
Run Code Online (Sandbox Code Playgroud)

但是,现在如何遍历所有节点并提取其密钥和内容呢?

java json jackson

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

如何逐行复制大数据文件?

我有一个35GB的CSV文件。我想读取每一行,并在符合条件的情况下将其写到新的CSV中。

try (BufferedWriter writer = Files.newBufferedWriter(Paths.get("source.csv"))) {
    try (BufferedReader br = Files.newBufferedReader(Paths.get("target.csv"))) {
        br.lines().parallel()
            .filter(line -> StringUtils.isNotBlank(line)) //bit more complex in real world
            .forEach(line -> {
                writer.write(line + "\n");
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

这大约需要。7分钟 是否可以进一步加快该过程?

java java-io java-stream

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

如何对齐3个div左中右?

如何在左中右一行中对齐3个div而无需定义显式大小?

左边应该与左边缘对齐,右边边缘对齐.

以下不起作用:

<div style="float: left;">
    left
</div>
<div style="float: right;">
    right
</div>
<div style="margin: 0 auto;">
    center
</div>
Run Code Online (Sandbox Code Playgroud)

html css

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

如何在SpringJUnit4ClassRunner上下文初始化之前运行代码?

在我的应用程序中,我在spring应用程序启动之前初始化属性,如下所示

MapLookup.setMainArguments(new String[] {"logging.profile", profile}); //from args
SpringApplication.run(source, args);
Run Code Online (Sandbox Code Playgroud)

(仅供参考:它用于log4j2记录,必须在spring开始初始化之前设置).

现在我想运行一个@IntegrationTest,但使用相同的日志配置.显然我不能使用上面的代码,因为JUnit测试没有使用SpringApplication.run.

那么,如何在@RunWith(SpringJUnit4ClassRunner.class)开始之前初始化代码呢?

注意:BeforeClass不起作用,因为这是在spring上下文启动后执行的.

java junit spring spring-test

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

如何使用css缩放图像以填充div保持纵横比?

我想填充一个div img,保持纵横比,并根据需要拉伸宽度或高度.

<div style="width: 80px; height: 80px">
    <img src="..." />
</div>
Run Code Online (Sandbox Code Playgroud)

我怎么能实现它?如果图像不是二次方,则必须"放大"并且要么是上下或左右,要么是哪一侧是较大的一侧.此外,图像应该在中心之后,以便角落被均等地切割.

我试过(但没效果):

.thumb {
    max-width:100%;
    max-height:100%;
}
Run Code Online (Sandbox Code Playgroud)

如果我添加额外的width: 100%; height:100%;,图像完全适合,但调整大小不保持aspect ratio.

html css

8
推荐指数
5
解决办法
3万
查看次数

在bootstrap中禁用@media print?

是否可以完全禁用任何预配置的@media printCSS样式bootstrap而无需重新编译它?

默认情况下应用的打印样式可以在这里看到:https://github.com/twbs/bootstrap/blob/master/dist/css/bootstrap.css#L6837

我希望我的网页能够按原样打印,并应用所有css标签.特别是颜色,如:

b {
  color: #ff0000;
}
Run Code Online (Sandbox Code Playgroud)

为了从bootstrap禁用打印样式,我必须使用我的自定义样式再次显式覆盖每个属性,例如:

b {
  color: #ff0000 !important;
}
Run Code Online (Sandbox Code Playgroud)

但是没有全局方法来禁用这些默认打印样式吗?

html css twitter-bootstrap

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