Java 创建名为';HypermediaRepresentationModelProcessorConfiguration&x27;
我试图在Spring Boot上运行一个项目。我配置了数据库连接,但有一个我无法理解的错误: 创建名为的bean时出错 'HyperMediaRepresentationModelProcessorConfiguration 帮助解决这个问题,也许有人已经遇到了 应用程序属性: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.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;