gpt4 book ai didi

java - 如何在没有 XML 的情况下使用 Spring 启动 H2 WebServer?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:10:52 26 4
gpt4 key购买 nike

我目前正在使用所有 Spring 配置作为注释,我想将以下内容翻译成它:

<bean id="h2Server" class="org.h2.tools.Server" factory-method="createTcpServer" init-method="start" destroy-method="stop" depends-on="h2WebServer">
<constructor-arg value="-tcp,-tcpAllowOthers,-tcpPort,9092"/>
</bean>
<bean id="h2WebServer" class="org.h2.tools.Server" factory-method="createWebServer" init-method="start" destroy-method="stop">
<constructor-arg value="-web,-webAllowOthers,-webPort,8082"/>
</bean>

使用上面的配置效果很好,但由于我没有使用 XML 进行任何其他配置,所以我也想更改它。

谁能帮我解决这个问题?

编辑:使用提供的答案,这是最终结果:

@Bean(name = "h2WebServer", initMethod="start", destroyMethod="stop")
public org.h2.tools.Server h2WebServer() throws SQLException {
return org.h2.tools.Server.createWebServer("-web", "-webAllowOthers", "-webPort", "8082");
}


@Bean(initMethod="start", destroyMethod="stop")
@DependsOn(value = "h2WebServer")
public org.h2.tools.Server h2Server() throws SQLException {
return org.h2.tools.Server.createTcpServer("-tcp", "-tcpAllowOthers", "-tcpPort", "9092");
}

最佳答案

您可以使用 Java 中的 @Bean 注释样式重写您的 XML bean 定义,如 Java-based container configuration 中所述。 .

例如:

@Bean(init-method="start", destroy-method="stop")
public org.h2.tools.Server h2WebServer() {
return org.h2.tools.Server.createWebServer(
"-web", "-webAllowOthers", "-webPort", "8082"
)
}

上面的文档链接将向您展示如何将两个 bean 连接在一起,以及如何将其添加到 Spring 上下文中。

关于java - 如何在没有 XML 的情况下使用 Spring 启动 H2 WebServer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28639396/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com