2015-11-29 19 views
6

Sembra (forse no) che, SpringBoot non è in grado di caricare file di application.properties che risiede sul src/main/resources. Quale configurazione aggiuntiva devo aggiungere per avviare la mia app?Primavera Boot: Impossibile configurare

Errore Traccia:

causati da:

org.springframework.boot.autoconfigure.jdbc.DataSourceProperties $ DataSourceBeanCreationException: non può determinare incorporato classe driver di database per tipo di database NESSUNO. Se si desidera un database incorporato, inserirne uno supportato su il classpath. Se si dispone di impostazioni del database per essere caricati da un particolare profilo potrebbe essere necessario attiva esso (nessun profilo sono attualmente attivo).

MembersApplication.java

@SpringBootApplication 
public class MembersApplication { 

public static void main(String[] args) 
{ 
    SpringApplication.run(MembersApplication.class, args); 
} 
} 

DatabaseConfig.java

@Configuration 
@EnableTransactionManagement 
public class DatabaseConfig { 

    @Value("${db.driver}") 
    private String DB_DRIVER; 

    @Value("${db.password}") 
    private String DB_PASSWORD; 

    @Value("${db.url}") 
    private String DB_URL; 

    @Value("${db.username}") 
    private String DB_USERNAME; 

    @Value("${hibernate.dialect}") 
    private String HIBERNATE_DIALECT; 

    @Value("${hibernate.show_sql}") 
    private String HIBERNATE_SHOW_SQL; 

    @Value("${hibernate.hbm2ddl.auto}") 
    private String HIBERNATE_HBM2DDL_AUTO; 

    @Value("${entitymanager.packagesToScan}") 
    private String ENTITYMANAGER_PACKAGES_TO_SCAN; 

    @Bean 
    public DataSource dataSource() { 
    DriverManagerDataSource dataSource = new DriverManagerDataSource(); 
    dataSource.setDriverClassName(DB_DRIVER); 
    dataSource.setUrl(DB_URL); 
    dataSource.setUsername(DB_USERNAME); 
    dataSource.setPassword(DB_PASSWORD); 
    return dataSource; 
    } 

    @Bean 
    public LocalSessionFactoryBean sessionFactory() { 
    LocalSessionFactoryBean sessionFactoryBean = new LocalSessionFactoryBean(); 
    sessionFactoryBean.setDataSource(dataSource()); 
    sessionFactoryBean.setPackagesToScan(ENTITYMANAGER_PACKAGES_TO_SCAN); 
    Properties hibernateProperties = new Properties(); 
    hibernateProperties.put("hibernate.dialect", HIBERNATE_DIALECT); 
    hibernateProperties.put("hibernate.show_sql", HIBERNATE_SHOW_SQL); 
    hibernateProperties.put("hibernate.hbm2ddl.auto", HIBERNATE_HBM2DDL_AUTO); 
    sessionFactoryBean.setHibernateProperties(hibernateProperties); 

    return sessionFactoryBean; 
    } 

    @Bean 
    public HibernateTransactionManager transactionManager() { 
    HibernateTransactionManager transactionManager = 
     new HibernateTransactionManager(); 
    transactionManager.setSessionFactory(sessionFactory().getObject()); 
    return transactionManager; 
    } 

risposta

7

Ti manca DB JAR sul classpath. Se si utilizza Maven/Gradle, è sufficiente includere la dipendenza del driver JDBC nel file POM/gradle.

+0

quando ho provato ad aggiungere http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.37, Maven ha avvertito "Duplicazione gestito versione". Suppongo che lo stivale a molla abbia aggiunto dipendenza per me? – Forkmohit

+4

Basta rimuovere la versione dalla dipendenza di maven. Questa è la caratteristica di Spring Boot. – luboskrnac

Problemi correlati