我想为我的 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)
在我的 …
我正在开发一个Angular应用程序.在尝试调试我的指令的链接功能时,我遇到了Chrome关于源地图的问题.
在页面的第一次加载(由Gulp和BrowserSync触发)时,一切都很好,花花公子:我可以看到浏览器化文件以及地图中的单个源文件.控制台中出现错误,因此我单击调用跟踪来探索它,并在源文件中显示正确的代码行 - 正如预期的那样.
麻烦开始于在我的代码中设置断点并重新加载浏览器以进行调试.执行在断点处停止 - 好的 - 但显然还没有加载源文件.相反,之前的源文件,友好的绿色字母文字告诉我:
请稍等一下.加载源地图时不显示编译的脚本!
那是正确的.我可以在sources选项卡中看到它确实没有加载,但没有任何进一步发生(可能是由于断点).
我之前从未有过这种行为.我认为这不是由于我的Browserify源地图,而是我怀疑这是Chrome的一个问题.
在Firefox中,一切正常.但我更喜欢Chrome而不是Firefox,所以......
你们有没有遇到过这个问题,或者知道可能导致这个问题的原因是什么?
我正在使用的是版本41.0.2272.118的Chrome版本(当前提出此问题的版本).
我正在为将来的应用程序评估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 ×2
auditing ×1
browserify ×1
groovy ×1
source-maps ×1
spring ×1
spring-boot ×1
spring-mvc ×1