Parece(tal vez no) que, SpringBoot es incapaz de cargar la aplicación.propiedades de archivo que reside en src/main/resources. Lo extra config tengo que añadir a arrancar mi aplicación?

Traza De Error:

Causada por:

org.springframework.el arranque.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException:
No se puede determinar incrustado controlador de base de datos de la clase para el tipo de base de datos
NINGUNO. Si desea una base de datos incrustada, por favor poner una admitida en
la ruta de clases. Si usted tiene configuración de base de datos a ser cargados desde un
perfil particular que usted puede necesitar para activarlo (no perfiles
actualmente activo).

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;
  }

OriginalEl autor Forkmohit | 2015-11-29

1 Comentario

  1. 7

    Le falta DB JAR en el classpath. Si usted está usando Maven/Gradle, sólo tienes que incluir el controlador JDBC de dependencia en su POM/gradle archivo.

    cuando traté de añadir mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.37 , maven advirtió que «la Duplicación de versión administrada». Supongo que la primavera de arranque ha añadido dependencia para mí?
    Sólo hay que quitar la versión de maven de la dependencia. Esta es la característica de la Primavera de Arranque.

    OriginalEl autor luboskrnac

Dejar respuesta

Please enter your comment!
Please enter your name here