6
看起来(也许不是),SpringBoot无法加载驻留在src/main/resources上的application.properties文件。我需要添加什么额外的配置来启动我的应用程序?Spring Boot:无法配置
错误跟踪:
造成的:
org.springframework.boot.autoconfigure.jdbc.DataSourceProperties $ DataSourceBeanCreationException: 无法确定数据库类型 无嵌入式数据库驱动程序类。如果你想要一个嵌入式数据库,请在 的类路径中加一个支持的数据库。如果您要从 特定配置文件加载数据库设置,则可能需要激活它(没有配置文件 当前处于活动状态)。
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;
}
当我尝试添加http://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.37时,maven警告“复制托管版本”。我猜春季引导为我增加了依赖性? – Forkmohit
只需从maven依赖关系中删除该版本即可。这是Spring Boot的特色。 – luboskrnac