我试图在yaml文件中配置一些JPA和Hibernate属性,但是当我在JpaConfig中使用@Value(" $ {$ hibernate.show_sql}")时会出现问题。
错误消息:
org.springframework.beans.factory.BeanCreationException:无法
autowire字段:private java.lang.Boolean com.movieGo.JpaConfig.showSql;嵌套异常是 org.springframework.beans.TypeMismatchException:无法转换 类型[java.lang.String]的值为必需的类型[java.lang.Boolean]; 嵌套异常是java.lang.IllegalArgumentException:无效 布尔值[$ {spring.hibernate.show_sql}]
我像这样写了我的application.yml:
spring:
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1/hello
username: root
password:
hibernate:
dialect: org.hibernate.dialect.MySQLDialect
hbm2ddl.auto: update
show_sql: false
我像这样使用@Value:
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackageClasses = HelloApplication.class)
class JpaConfig implements TransactionManagementConfigurer {
@Value("${spring.dataSource.driverClassName}")
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("${spring.hibernate.dialect}")
private String dialect;
@Value("${spring.hibernate.hbm2ddl.auto}")
private String hbm2ddlAuto;
@Value("${spring.hibernate.show_sql}")
private Boolean showSql;
...
}
Spring似乎将show_sql
视为String类型,但是
如何在.yml中指定布尔类型?
Spring mvc的新手,渴望寻求帮助。