Spring application.yaml不起作用

时间:2016-04-26 14:08:07

标签: java spring hibernate spring-mvc yaml

我试图在yaml文件中配置一些JPA和Hibernate属性,但是当我在JpaConfig中使用@Value(" $ {$ hibernate.show_sql}")时会出现问题。

错误消息:

  

org.springframework.beans.factory.BeanCreationException:无法
  autowire字段:private java.lang.Boolean   com.movi​​eGo.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的新手,渴望寻求帮助。

0 个答案:

没有答案