看起来(可能不是),SpringBoot无法加载驻留在src / main / resources上的application.properties文件.我需要添加什么额外的配置来启动我的应用程序?
错误跟踪:
引起:
org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException:
Cannot determine embedded database driver class for database type
NONE. If you want an embedded database please put a supported one on
the classpath. If you have database settings to be loaded from a
particular profile you may need to active it (no profiles are
currently active).
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;
}
最佳答案
您在类路径上缺少DB JAR.如果您使用的是Maven / Gradle,只需在您的POM / gradle文件中包含JDBC驱动程序依赖项即可.