Niz*_*ikh 5 spring h2 in-memory-database
我正在开发 spring 5(不是 Sprig Boot)项目。我需要使用内存 H2 数据库测试我的应用程序。我在 Maven 构建工具上使用 Spring 和 Java Config。有什么方法可以配置内存中的 H2 DB 吗?
小智 4
DataSource您可以使用以下命令添加bean EmbeddedDatabaseBuilder:
@Bean
public DataSource dataSource(
@Value("${datasource.dbname}") String dbname,
@Value("${datasource.script}") String script) {
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.H2)
.setName(dbname)
.addScript(script)
.build();
}
Run Code Online (Sandbox Code Playgroud)
应用程序属性
datasource.dbname=users
datasource.script=classpath:resources/users.sql
Run Code Online (Sandbox Code Playgroud)
h2-console您还可以在应用程序配置类中注册servlet,如下所示:
@Configuration
public class WebAppConfig implements WebApplicationInitializer {
@Override
public void onStartup(ServletContext servletContext) {
. . .
servletContext
.addServlet("H2Console", WebServlet.class)
.addMapping("/console/*");
. . .
}
}
Run Code Online (Sandbox Code Playgroud)
然后就可以打开http://localhost:8080/console并连接jdbc:h2:mem:users数据库了,如下:
另请参阅如何在没有 spring-boot 的情况下在 spring-webmvc 中启用 h2-console?
| 归档时间: |
|
| 查看次数: |
5968 次 |
| 最近记录: |