Spring Boot:无法配置 [英] Spring Boot: Unable to configure

查看:111
本文介绍了Spring Boot:无法配置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

似乎(可能不是),SpringBoot无法加载驻留在src / main / resources上的application.properties文件。我需要添加什么额外的配置来启动我的应用程序?

It seems(maybe not) that, SpringBoot is unable to load application.properties file which resides on src/main/resources. What extra config I need to add to boot my app?

错误追踪:

引起:


org.springframework.boot.autoconfigure.jdbc.DataSourceProperties $ DataSourceBeanCreationException:
无法确定数据库类型
NONE的嵌入式数据库驱动程序类。如果你想要一个嵌入式数据库,请在
类路径上放置一个受支持的数据库。如果您要从
特定配置文件加载数据库设置,则可能需要激活它(没有配置文件是
当前有效)。

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驱动程序依赖项。

You are missing DB JAR on your classpath. If you are using Maven/Gradle, just include JDBC driver dependency into your POM/gradle file.

这篇关于Spring Boot:无法配置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆