小编Bil*_*ong的帖子

使用Jackson在Java中解析JSON的子集

给定一个Json,是否可以使用Jackson来解析消息的一部分?假设我感兴趣的数据埋藏在深层次的字段中,我根本不关心为每个类创建DTO类.

鉴于一个非常简化的场景,我想在不知道任何关于它之前的结构的情况下对Telephone类进行建模:

...{
  "firstName": "John",
  "lastName" : "doe",
  "age"      : 26,
  "address"  : {
    "streetAddress": "naist street",
    "city"         : "Nara",
    "postalCode"   : "630-0192"
  },
  "phoneNumbers": [
    {
      "type"  : "iPhone",
      "number": "0123-4567-8888"
    },
    {
      "type"  : "home",
      "number": "0123-4567-8910"
    }
  ]
}....
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用json-path和反序列化我感兴趣的部分.一些伪:

List<Telephone> phoneNrs = parse(".my.deep.structure.persons.phoneNumbers", List<Telephone.class>);
Run Code Online (Sandbox Code Playgroud)

java json jackson

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

用于评估 Java 应用程序中的 groovy 脚本的 Maven 依赖项

我添加了使用 GroovyShell 在我的 Java 应用程序中解析和评估 groovy 脚本的功能。哪个 Maven 工件是我的构建中包含的最低限度?

我知道 groovy-all 肯定会包含我需要的一切,但我猜我也可以使用一个更小的包?

groovy groovyshell

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

处理DBUnit中的保留字符

我在集成测试期间使用DBUnit来模拟我继承的传统Spring/Hibernate项目的数据.不幸的是很久以前有人认为拥有一个名为user的用户表会很好,这是我们数据库中的保留关键字.然后通过将实体表映射重命名为现在已经存在多年的`user`来解决这个问题.

正如我现在几年后开始整合集成测试一样,这就产生了一个问题,因为DBUnit不允许在其xml数据集文件中使用`字符(它是你知道的XML ...),而CSV读取器则要求文件是称为`user`.csv,在我的操作系统下似乎失败了.

有没有办法在不使用DBUnit的XML或CSV读取器的情况下添加此表,还是应该从另一个角度解决这个问题?一种替代方法是在集成测试期间使用另一个映射,以便我可以将表命名为它的预期名称(用户).但我不知道这是否可行.

我已经打了2天了,所以我喜欢一些外部反馈.

所以,只是澄清一下.我有一个实体,如:

@Entity (name = "`user`")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@Auditable
public class User implements UserDetails, Serializable {
  properties etc....
Run Code Online (Sandbox Code Playgroud)

在我的集成测试期间,hibernate通过配置persistence.xml文件来负责创建其他表.当dbunit然后尝试填充数据时,由于缺少表而导致错误,无论我如何尝试转义用户表名.

java junit dbunit integration-testing hibernate

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

AsyncHttpClient 的 RestTemplate

经过一些基准测试后,我发现 AsyncHttpClient ( https://github.com/AsyncHttpClient/async-http-client ) 似乎是最稳定和可扩展的异步 http 客户端,因为它基于 NIO 并且似乎可以很好地扩展加载期间。我将它与 OkHttp 和 Apache Async 进行了比较,在模拟具有延迟的后端时,它似乎表现得非常好。

不幸的是,我还没有找到任何方法将其公开为 Spring AsyncRestTemplate,这使得在我们现有的代码库中进行迁移变得很痛苦。

有谁知道使用该库与 RestTemplate 的任何良好桥梁,或者如果不是的话,如何在 Spring 项目中创建一个问题以将其包含在其他异步 http 客户端工厂中?

java spring spring-mvc asynchttpclient spring-boot

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