ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-如何使用不带XML的Spring启动H2 WebServer?

2019-10-28 17:19:37  阅读:237  来源: 互联网

标签:h2 spring java


我目前正在使用所有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"
   )
}

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

标签:h2,spring,java
来源: https://codeday.me/bug/20191028/1953954.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有