Neh*_*nia 28 spring spring-boot
我使用Spring Boot创建了一个Spring Web项目.想了解一下测试的做法.我需要一个内存嵌入式数据库说hsql或h2用于初始schema.sql的junits.在主应用程序上,数据库可以说是mysql或oracle
在非Spring Boot项目中,我们通常会有一个单独的applicationcontext.xml,它由Web应用程序引用,为了测试,我们将使用applicationContext-text.xml
现在,在Spring启动时,所有内容都是自动创建的,Spring Boot也是如此.想知道如何为应用程序设置嵌入式内存db for Junits和外部数据库(如MySQL).
我能想到的一个解决方案是使用Profiles.使用2个属性文件application.properties和application-test.properties.并为我的junits使用测试配置文件.
关于我应采取的方法的任何建议.
Dav*_*yer 40
实际上,配置文件是推荐的方法.我要做的可能是将内存中的实现设置为"默认"配置文件(它是无害的,从某种意义上说,你永远不会更改任何真实数据,因此最好将其作为默认设置,以防有人意外地在真实数据库上运行它).就个人而言,我更喜欢将所有外部配置放在一个application.yml文件中,但这完全取决于您.在外部配置中,您需要提供有效的驱动程序类和URL,例如
spring:
datasource:
driverClassName: org.h2.Driver
url: jdbc:h2:mem:test;MODE=PostgreSQL
schema: classpath:/schema.sql
---
spring:
profiles: local
datasource:
url: jdbc:postgresql://localhost/test
username: root
password: changeme
driverClassName: org.postgresql.Driver
schema:
Run Code Online (Sandbox Code Playgroud)
(请注意,H2具有postgres兼容模式,因此它非常适合作为postgres的补充.)
| 归档时间: |
|
| 查看次数: |
16652 次 |
| 最近记录: |