我写了 spring boot 集成测试,它正在工作。这是测试配置:
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = RANDOM_PORT)
@AutoConfigureMockMvc
@Transactional
public class SomeTest {
@Autowired
private MockMvc mvc;
@Test
public void insertEventTest(){
...testing something...
}
}
Run Code Online (Sandbox Code Playgroud)
我知道在设置webEnvironment = RANDOM_PORT
spring 时将初始化嵌入式 Web 服务器并针对该 Web 服务器运行此测试。我在运行此测试时查看了日志,发现嵌入式TomcatWebServer
已启动。初始化 Tomcat 大约需要 6 秒,但在日志的这两个部分之间,很少有其他 bean 被初始化,所以我很确定初始化 Tomcat 不是 6 秒,而是不到 6 秒。日志的一部分:
2019-10-13 16:03:20.065 INFO 8596 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 0 (http)
2019-10-13 16:03:20.098 INFO 8596 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2019-10-13 16:03:20.098 INFO …
Run Code Online (Sandbox Code Playgroud) 在每个 docker 教程中,docker 的主要优点之一是 docker 容器使用主机操作系统。但如果这是真的,我不明白为什么我需要在映像中包含操作系统。例如,这是 centOS 的图像。我知道如果我想在容器中运行 centOS,我必须拉取这个镜像,但是主机操作系统在哪里呢?最好有人能给我指向一些链接来阅读相关内容,因为我找不到合适的链接。
我正在尝试在我的项目中实现域驱动设计。这是我的基Aggregate
类:
public abstract class UUIDAggregate {
private final DomainEventPublisher domainEventPublisher;
protected void publish(DomainEvent domainEvent) {
domainEventPublisher.publish(domainEvent);
}
}
Run Code Online (Sandbox Code Playgroud)
假设我们有UserAccount
聚合:
public class UserAccount extends UUIDAggregate {
private String email;
private String username;
private String password;
private String firstName;
private String lastName;
public void update() {
publish(new DomainEventImpl());
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的DomainEventPublisher
:
public interface DomainEventPublisher {
void publish(DomainEvent event);
}
Run Code Online (Sandbox Code Playgroud)
这是DomainEventPublisherImpl
:
@Component
public class DomainEventPublisherImpl implements DomainEventPublisher{
@Autowired
private ApplicationEventPublisher publisher;
public void publish(DomainEvent event){ …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用IDEA intellij和tomcat服务器运行我的Web应用程序.我下载了tomcat服务器,将其粘贴到程序文件中,制作了CATALINA_HOME并编辑了%CATALINA_HOME%\ bin的路径; .我的运行配置:
当我从bin/startup.bat启动tomcat服务器并尝试运行项目时出现错误错误运行事件:地址localhost:8080已在使用中.
当我没有首先使用bat文件启动tomcat时出现错误:运行配置停止之前没有连接应用程序服务器,原因:无法在localhost:1099 ping服务器.当我从tomcat运行该bat脚本并转到localhost:8080时,我看到tomcat启动窗口.
可以说我有这样的情况。
private final A a;
private final B b;
private final C c;
private ClassX(){
this.c = createCSomehow();
}
public ClassX(A a){
this();
this.a = a;
this.b = null;
}
public ClassX(B b) {
this();
this.b = b;
this.a = null;
}
Run Code Online (Sandbox Code Playgroud)
为什么 Idea 会抱怨 a 和 b 属性?想法在它们下面划线并说:变量 a 可能尚未初始化。我确信我没有更多的构造函数,并且在每种情况下 a 都会填充一些值。
我有这样的情况。我有文件夹a
,里面有a.ftl
文件夹b
。文件夹内b
有b.ftl
。在b.ftl
我有[#macro macroName param1]...[/#macro]
如何从文件调用宏a
?我有intellij想法警告。我看到了此链接https://intellij-support.jetbrains.com/hc/en-us/community/posts/206196939-Getting-Intellij-to-pick-up-Freemarker-macros,所以我尝试放置
[#-- @implicitly included --]
[#-- @ftlroot "" --]
Run Code Online (Sandbox Code Playgroud)
到顶部,a.ftl
但不起作用。我正在研究freemarker文档http://freemarker.org/docs/ref_directive_macro.html,但是有一个示例,仅从同一文件调用宏。