Java 创建名为';HypermediaRepresentationModelProcessorConfiguration&x27;

Java 创建名为';HypermediaRepresentationModelProcessorConfiguration&x27;,java,spring,hibernate,spring-boot,spring-mvc,Java,Spring,Hibernate,Spring Boot,Spring Mvc,我试图在Spring Boot上运行一个项目。我配置了数据库连接,但有一个我无法理解的错误: 创建名为的bean时出错 'HyperMediaRepresentationModelProcessorConfiguration 帮助解决这个问题,也许有人已经遇到了 应用程序属性: spring.datasource.driver-class-name=org.postgresql.Driver spring.datasource.url=jdbc:postgresql://localhost:54

我试图在Spring Boot上运行一个项目。我配置了数据库连接,但有一个我无法理解的错误:

创建名为的bean时出错 'HyperMediaRepresentationModelProcessorConfiguration

帮助解决这个问题,也许有人已经遇到了

应用程序属性:

spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/snicksmoda
spring.datasource.username=postgres
spring.datasource.password=123

spring.jpa.hibernate.ddl-auto=update
#spring.jpa.hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
#spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
spring.jpa.show-sql=true
spring.batch.initialize-schema=always
spring.mvc.view.prefix=/templates/
spring.mvc.view.suffix=.html

server.port=8080

spring.mail.host=smtp.gmail.com
spring.mail.username=
spring.mail.password=
spring.mail.port=465
spring.mail.protocol=smtps
spring.mail.debug=true
pom(sql):


根据提供的堆栈跟踪,应用程序配置文件中存在错误

它与这个bean有关:
jpa配置

由名为的注入依赖项失败引起:
'dataSource.drivercassname'
中的值
“${dataSource.drivercassname}”

问题是……在应用程序属性中,变量的名称与JPA配置不匹配。以下是它应该是什么样子:

    @Value("${spring.datasource.driver-class-name}")
    private String driver;
    @Value("${spring.datasource.url}")
    private String url;
    @Value("${spring.datasource.username}")
    private String username;
    @Value("${spring.datasource.password}")
    private String password;
在解决了这个问题之后,你会遇到同样的问题

@Value("${jpa.database-platform}")
private String databasePlatform;
@Value("${hibernate.ddl-auto}")
private String ddlAuto;

只要把这些名字匹配起来,我想应该行得通

没什么帮助!我已经在课堂上、pom和属性中复习了100遍了。告诉我去哪里找,也许我根本没在那里挖!在JPA配置中,您使用
${datasource.driver class name}
,程序正在查找
${datasource.driverclass name}
。你认为这可能是原因吗?
@Configuration
public class JpaConfiguration implements TransactionManagementConfigurer {

    @Value("${datasource.driver-class-name}")
    private String driver;
    @Value("${datasource.url}")
    private String url;
    @Value("${datasource.username}")
    private String username;
    @Value("${datasource.password}")
    private String password;
    @Value("${jpa.database-platform}")
    private String databasePlatform;
    @Value("${hibernate.ddl-auto}")
    private String ddlAuto;

    @Bean
    public DataSource configureDataSource() {
        HikariConfig config = new HikariConfig();
        config.setDriverClassName(driver);
        config.setJdbcUrl(url);
        config.setUsername(username);
        config.setPassword(password);
        return new HikariDataSource(config);
    }

    @Bean
    public LocalContainerEntityManagerFactoryBean configureEntityManagerFactory() {
        LocalContainerEntityManagerFactoryBean entityManagerFactoryBean = new LocalContainerEntityManagerFactoryBean();
        entityManagerFactoryBean.setDataSource(configureDataSource());
        entityManagerFactoryBean.setPackagesToScan("com.snicksmoda");
        entityManagerFactoryBean.setJpaVendorAdapter(new HibernateJpaVendorAdapter());

        Properties jpaProperties = new Properties();
        jpaProperties.put(org.hibernate.cfg.Environment.DIALECT, databasePlatform);
        jpaProperties.put(org.hibernate.cfg.Environment.HBM2DDL_AUTO, ddlAuto);
        entityManagerFactoryBean.setJpaProperties(jpaProperties);
        return entityManagerFactoryBean;
    }

    @Bean
    public PlatformTransactionManager annotationDrivenTransactionManager() {
        return new JpaTransactionManager();
    }
}
    @Value("${spring.datasource.driver-class-name}")
    private String driver;
    @Value("${spring.datasource.url}")
    private String url;
    @Value("${spring.datasource.username}")
    private String username;
    @Value("${spring.datasource.password}")
    private String password;
@Value("${jpa.database-platform}")
private String databasePlatform;
@Value("${hibernate.ddl-auto}")
private String ddlAuto;