SpringBoot中屬性賦值操作的實現
說明:當程序中出現頻繁變化的數據時,如果采用認為的方式進行修改并且編譯打包則會導致代碼的耦合性較高,不便于維護!所以能否為屬性動態賦值?
屬性固定值
//動態獲取ip和端口數據/** * @responseBody * 注解作用: * 1.將對象轉化成Json格式, * 2.如果返回值是String類型,則返回字符串本身 * 3.一般客戶端發起ajax請求時,采用該注解返回數據,將不會執行視圖解析器操作 */@RestControllerpublic class RedisController{ private String host='192.168.126.112'; private Integer port=6379; public String getMsg(){ return host+':'+port; }}
動態獲取ip和端口數據
關于YML文件說明
#YML文件語法: # 1.key:(空格) value 注意:value前面有個空格 # 2.key與key之間有層級的縮進關系server: port: 8090 #屬性賦值操作,編輯屬性時注意前綴,只要springboot啟動,該數據就會被寫入內存中,key-value格式redis: host: 192.168.126.130 port: 6379
為屬性賦值操作
public class RedisController { @Value('${redis.host}') //spel表達式 private String host; // = '192.168.126.130'; private String host; // = '192.168.126.130'; @Value('${redis.port}') private Integer port; // = 6379; @RequestMapping('/getMsg') public String getMsg(){ return host + ':' + port; }}
指定配置文件為屬性賦值
說明:由于YML配置文件中的數據一般都是系統級別的數據,所以一般的業務數據都會寫到peoperties配置文件中。
編輯RedisController
@RestController//動態導入pro配置文件,交給spring容器進行加載@PropertySource('classpath:/properties/redis.properties')public class RedisController { //通過YML給屬性賦值 @Value('${redis.host}')//sple表達式 private String host; @Value('${redis.port}') private Integer port; @RequestMapping('/getMsg') public String getMsg(){ return host+':'+port; } /*由于YML配置文件中的數據一般都是系統級別的數據,所以一般的業務數據 都會寫到peoperties配置文件中*/ //通過properties給屬性賦值 @Value('${pro.redis.host}') private String prohost; @Value('${pro.redis.port}') private Integer proport; @RequestMapping('/getpro') public String getpro(){ return prohost+':'+proport; }}
到此這篇關于SpringBoot中屬性賦值操作的實現的文章就介紹到這了,更多相關SpringBoot 屬性賦值內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: