浅谈springboot 属性定义
本文介绍了浅谈springboot属性定义,分享给大家。具体如下:
简单属性自定义
一般属性可以定义在通用的配置文件application.properties里面
#自定义属性 boot.userName=yuxi
如何获取呢?
按照spring的获取方式就可以了,很简单
@Value(value="${boot.userName}")
privateStringuserName;
复杂属性自定义
在配置里配置属性
#复杂属性 test.id=1 test.name=xiaoyuxixi test.money=100000000
定义实体
//需要注意这个属性是必须的
@ConfigurationProperties(prefix="test")
publicclassAccount{
privateintid;
privateStringname;
privatedoublemoney;
publicintgetId(){
returnid;
}
publicvoidsetId(intid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicdoublegetMoney(){
returnmoney;
}
publicvoidsetMoney(doublemoney){
this.money=money;
}
@Override
publicStringtoString(){
return"Account{"+
"id="+id+
",name='"+name+'\''+
",money="+money+
'}';
}
}
注入属性
@RestController
//这个属性也是必须的
@EnableConfigurationProperties({Account.class})
publicclassHelloController{
//自定义属性
@Value(value="${boot.userName}")
privateStringuserName;
@Autowired
privateAccountaccount;
/**
*复杂属性自定义
*
*@return
*/
@RequestMapping("/hard")
publicObjectgetHardProperties(){
returnaccount;
}
/**
*welcomespringboot
*
*@return
*/
@RequestMapping(value="/",method=RequestMethod.GET)
publicStringindex(){
return"GreetingsfromSpringBoot!";
}
/**
*简单属性自定义
*
*@return
*/
@RequestMapping("/user")
publicStringgetProperties(){
System.out.println(userName);
returnuserName;
}
}
在配置完复杂的属性之后,会发现这样写的话application.properties里内容会很多有很多属性不是公共的配置,放在这里不是有优雅,可以把这些配置单独写一个配置文件
配置文件获取
添加配置文件(test.properties)
#配置文件获取 lakala.id=1 lakala.name=xiaoyuxixi lakala.money=100000000
获取属性文件(在实体上加入以下配置文件)
@Configuration @PropertySource(value="classpath:test.properties")
源码地址:springbootlearning_jb51.rar
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。