小编Ser*_*bst的帖子

如何使用 SpringBootTest 启用 JPA 审计?

我想为我的 RestAPI 端点编写集成测试,但我正在努力解决 @EnableJpaAuditing。我希望 Spring 审核我的一些实体,因此我创建了以下配置类:

@Configuration
@EnableJpaAuditing
public class PersistenceAuditConfiguration {

}
Run Code Online (Sandbox Code Playgroud)

我将其导入到我的主应用程序配置中:

@ServletComponentScan
@SpringBootApplication
@Import(PersistenceAuditConfiguration.class)
public class TMTWebApplication {

    public static void main(String[] args)  {
        SpringApplication.run(TMTWebApplication.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

另外,我有一个针对我想要审核的所有实体的抽象基类:

@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
@JsonIgnoreProperties(value = {"createdAt", "updatedAt"}, allowGetters = true)
public abstract class AuditableEntity extends EpicPojo implements Serializable {

@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_at", nullable = false, updatable = false)
@CreatedDate
private Date createdAt;

@Temporal(TemporalType.TIMESTAMP)
@Column(name = "updated_at", nullable = false)
@LastModifiedDate
private Date updatedAt;

    //...and so on

}
Run Code Online (Sandbox Code Playgroud)

在我的 …

java auditing spring-data-jpa spring-boot spring-boot-test

9
推荐指数
0
解决办法
4470
查看次数

在Chrome中进行调试时,浏览器源图不会加载

我正在开发一个Angular应用程序.在尝试调试我的指令的链接功能时,我遇到了Chrome关于源地图的问题.

在页面的第一次加载(由Gulp和BrowserSync触发)时,一切都很好,花花公子:我可以看到浏览器化文件以及地图中的单个源文件.控制台中出现错误,因此我单击调用跟踪来探索它,并在源文件中显示正确的代码行 - 正如预期的那样.

麻烦开始于在我的代码中设置断点并重新加载浏览器以进行调试.执行在断点处停止 - 好的 - 但显然还没有加载源文件.相反,之前的源文件,友好的绿色字母文字告诉我:

请稍等一下.加载源地图时不显示编译的脚本!

那是正确的.我可以在sources选项卡中看到它确实没有加载,但没有任何进一步发生(可能是由于断点).

我之前从未有过这种行为.我认为这不是由于我的Browserify源地图,而是我怀疑这是Chrome的一个问题.

在Firefox中,一切正常.但我更喜欢Chrome而不是Firefox,所以......

你们有没有遇到过这个问题,或者知道可能导致这个问题的原因是什么?

我正在使用的是版本41.0.2272.118的Chrome版本(当前提出此问题的版本).

google-chrome browserify source-maps

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

Spring Boot与Groovy模板-无法遍历ModelAndView内部的列表

我正在为将来的应用程序评估Spring Boot,并希望将Groovy模板用于其纯粹的可读性。不幸的是,我在遍历要添加到控制器返回的ModelAndView对象的对象列表时遇到麻烦。

这是我的控制器:

@RestController
@RequestMapping("/ships")
public class ShipsController {

    @Autowired
    ShipDao shipDao;

    @RequestMapping(method = RequestMethod.GET)
    public ModelAndView ships() {
        final ModelAndView modelAndView = new ModelAndView("views/ships");
        modelAndView.addObject("ships", this.shipDao.findAll());
        return modelAndView;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的模板:

yieldUnescaped '<!DOCTYPE html>'
html(lang:'en') {
    head {
        meta('http-equiv':'"Content-Type" content="text/html; charset=utf-8"')
        title('My page')
    }
    body {
        p('Look at all these ships:')
        ul {
            ships.each { ship ->
                li('$ship.name')
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是我在浏览器中只能看到的是:

看所有这些船:

$ ship.name

我能够向自己保证,从DAO返回的列表包含三个实体,但是模板似乎忽略了该实体/无法识别该实体。

令我惊讶的是,即使模板中没有,为什么它甚至显示一个li元素?在那种情况下(空列表),我不会有任何期望,或者在引用空对象时会出现错误。

有人有主意吗?

编辑

我刚刚对Thymeleaf模板进行了相同的尝试,它的工作原理就像一个魅力。因此,这不是我的控制器。

难道您只能将Groovy模板与Groovy一起使用,而不能与Java一起使用?

java groovy spring spring-mvc

4
推荐指数
1
解决办法
1346
查看次数