diff --git a/pom.xml b/pom.xml index e89986f5bd2c337128f30e11f08fe4698dbc7fd9..0c8367bde3c496a690a099648164ddb847b949f7 100644 --- a/pom.xml +++ b/pom.xml @@ -131,6 +131,10 @@ <artifactId>spring-data-jpa</artifactId> <version>1.10.2.RELEASE</version> </dependency> + <dependency> + <groupId>commons-dbcp</groupId> + <artifactId>commons-dbcp</artifactId> + </dependency> </dependencies> <pluginRepositories> diff --git a/src/main/java/org/hbp/mip/configuration/PersistenceConfiguration.java b/src/main/java/org/hbp/mip/configuration/PersistenceConfiguration.java index e96470f15ec00ea8f74c89c5d32004c4af5f0c6b..7e0791611fcc8e865d870f2273c8bc13b6e8a5b1 100644 --- a/src/main/java/org/hbp/mip/configuration/PersistenceConfiguration.java +++ b/src/main/java/org/hbp/mip/configuration/PersistenceConfiguration.java @@ -1,10 +1,12 @@ package org.hbp.mip.configuration; import org.hbp.mip.utils.CSVUtil; -import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder; import org.springframework.boot.orm.jpa.EntityScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.orm.jpa.JpaVendorAdapter; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; @@ -22,8 +24,17 @@ import java.util.Properties; @EntityScan(basePackages = "org.hbp.mip.model") public class PersistenceConfiguration { - @Autowired - DataSource dataSource; + @Value("#{'${spring.datasource.username:postgres}'}") + String dbUser; + + @Value("#{'${spring.datasource.password:pass}'}") + String dbPass; + + @Value("#{'${spring.datasource.url:jdbc:postgresql://db:5432/postgres}'}") + String dbUrl; + + @Value("#{'${spring.datasource.driver-class-name:org.postgresql.Driver}'}") + String dbDriver; @Bean public CSVUtil csvUtil() { @@ -33,7 +44,7 @@ public class PersistenceConfiguration { @Bean public LocalContainerEntityManagerFactoryBean entityManagerFactory() { LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); - em.setDataSource(dataSource); + em.setDataSource(dataSource()); JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); em.setJpaVendorAdapter(vendorAdapter); em.setJpaProperties(additionalProperties()); @@ -45,4 +56,16 @@ public class PersistenceConfiguration { properties.setProperty("hibernate.show_sql", "true"); return properties; } + + @Bean + @Primary + public DataSource dataSource() { + return DataSourceBuilder + .create() + .username(dbUser) + .password(dbPass) + .url(dbUrl) + .driverClassName(dbDriver) + .build(); + } }