Spring从配置文件注入变量
2016-03-16 18:33
369 查看
Spring从配置文件注入变量
注入基本数据类型和String,使用@Value注解
使用格式为 : @Value(“${property:default value}”)当配置文件没有property会设置为默认值,如果有但是没值,会注入null
@Value("${insertVar:1000") private String insertVar; @Value("${insertVar:1000}") private String insertVar; @Value("#{'${insertVar:1000}'}") private String insertVar; @Value("#{config['insertVar']?:'1000'}") private String insertVar;
配置文件为
insertVar=Strong
注入基本Date类型
两种方式:使用@Value
@Value("#{new java.text.SimpleDateFormat('yyyy-MM-dd HH:mm:ss').parse('${endTime}')}") private Date endTime;
上面这种方式不需要修改其他任何配置
使用@DateTimeFormat
@Value("${endTime}") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime;
只这样做,不会注入,会报错
需要改配置文件
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"/> <mvc:annotation-driven/>
注意bean的id必须为conversionService。换名则失效。
bean在配置文件中未被使用,但是转换格式却生效,期初我也很纳闷,后来看了spring-mvc-xx.xsd的代码,猜测是原因是在annotation-driven中得到调用conversionService
开发中最好是如下这样配置
<mvc:annotation-driven conversion-service="conversionService"/> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"/>
相关文章推荐
- java 判断两个String 是否是相同字母异序词
- Spring与SpringMVC的容器关系
- java8新特性介绍
- spring+mybatis 注入properties文件中属性失败导致datasource加载失败的原因和解决
- Java对象的强、软、弱和虚引用(三)--具体应用
- Spring进阶之路(12)-注解方式实现Bean的注入
- SpringMVC接收复杂集合参数
- 40个Java多线程问题总结
- Java工程师成神之路
- 【抄】更改eclipse配置
- 【抄】更改eclipse配置
- Spring配置c3p0数据源时出错报:java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector
- Java 四舍五入计算问题
- 错误: 需要class, interface或enum
- java 实现String 的contains方法
- Java中几个关键字 static final this super
- java 异常捕捉 ( try catch finally )
- J2EE学习(Struts2的工作原理)
- 学习java的入门方法!
- JDK7中的排序算法详解--Collections.sort和Arrays.sort