**
@Value("#{}")与@Value("${}")的区别
**
1.@Value(“#{}”) 表示SpEl表达式通常用来获取bean的属性,或者调用bean的某个方法。当然还有可以表示常量
public class LoginController {
@Value("#{1}")
private int number; //获取数字 1
@Value("#{'Spring Expression Language'}") //获取字符串常量
private String str;
@Value("#{dataSource.url}") //获取bean的属性
private String jdbcUrl;
}
2.用 @Value(“${xxxx}”)注解从配置文件读取值的用法
用法:
从配置properties文件中读取init.password 的值。
@Value("${init.password}")
private String initPwd;
2 . 在spring的配置文件中加载配置文件dbconfig.properties :
<!-- 加载配置文件 -->
<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="fileEncoding" value="UTF-8"/>
<property name="locations">
<list>
<value>classpath:dbconfig.properties</value>
</list>
</property>
</bean>
或这样加载
<context:property-placeholder location="classpath:dbconfig.properties" />
或这样加载
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
<property name="location">
<value>dbconfig.properties</value>
</property>
</bean>
3 . dbconfig.properties 文件:
password.algorithmName=md5
password.hashIterations=2
#initpwd
init.password=admin
**
json之containsKey
**
json中有一个函数是用于判断属性是否存在的。如果存在则返回true,如果不存在则返回false。该方法就是containsKey方法