1.自定义属性及常量
开发中,经常会有一些常量,变动较少,但是我们不能在java代码中写死,这样每次修改都得去java代码中修改,引用地方较多时我们需要修改很多java文件;所以我们可以集中写在某个配置文件中,这样只用修改配置文件就好。具体的实现,主要分为三步
1.配置文件
application-dev.properties
这里有普通的定义属性,也有内置的函数,如随机数,随机字符串等。
# 自定义属性
com.tmall.id=123.45.67.89
# 参数间引用
com.tmall.id.description=This is id:${com.tmall.id}
# 随机字符串
com.blog.value=${random.value}
# 随机int
com.blog.number=${random.int}
# 随机long
com.blog.bignumber=${random.long}
# 10以内的随机数
com.blog.test1=${random.int(10)}
# 10-20的随机数
com.blog.test2=${random.int[10,20]}
2.定义常量类
定义属性,通过@Value("${属性名}")注解来加载对应的配置属性(这里省略get set方法,开发中是需要的)
@Component
public class ConstantProperties {
@Value("${com.tmall.id}")
private String tmallId;
@Value("${com.tmall.id.description}")
private String tmallIdDesc;
@Value("${com.blog.value}")
private String bValue;
@Value("${com.blog.number}")
private String bNumber;
@Value("${com.blog.bignumber}")
private String bignumber;
@Value("${com.blog.test1}")
private String bTest1;
@Value("${com.blog.test2}")
private String bTest2;
}
3.使用时,引入此常量类,直接getXxx即可
@RequestMapping(value = "test4",method = RequestMethod.GET)
public String test4(){
logger.info(properties.getTmallId());
logger.info(properties.getTmallIdDesc());
logger.info(properties.getbValue());
logger.info(properties.getbNumber());
logger.info(properties.getBignumber());
logger.info(properties.getbTest1());
logger.info(properties.getbTest2());
return "测试属性";
}
控制台如下: