在我们你的日常开发中,经常会有一些常量,变动较少,但是我们不能在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.num1=${random.int(10)}
# 30-50的随机数
com.blog.num2=${random.int[30,50]}
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.num1}") private String num1; @Value("${com.blog.num2}") private String num2;
}
3.使用时,@Autowired引入此常量类,直接getXxx即可
@RequestMapping(value = "test4",method = RequestMethod.GET) public String test4(){ private Logger logger = LoggerFactory.getLogger(Logger.class); logger.info(properties.getTmallId()); logger.info(properties.getTmallIdDesc()); logger.info(properties.getbValue()); logger.info(properties.getbNumber()); logger.info(properties.getBignumber()); logger.info(properties.getnum1()); logger.info(properties.getnum2()); return "测试属性"; }