javascript
Spring系列(九):Spring属性赋值注解@Value 用法介绍
今天給大家分享Spring屬性賦值注解@Value 用法,希望對(duì)大家能有所幫助!
? ? ? ? ? ? ? ?
1、@Value注解的作用
@Value注解的作用主要可以給屬性直接賦值、也可以讀取配置文件中的值給屬性賦值
2、@Value 注解的寫(xiě)法
基本數(shù)據(jù)類(lèi)型賦值:@Value("三國(guó)演義")
使用${} ,可以讀取保配置文件的值(前提是配置文件保存的環(huán)境變量當(dāng)中)
也可以使用spring表達(dá)式 #{} 做些簡(jiǎn)單的運(yùn)算然后賦值,比如 @Value(100-1)
3、用法示例
3.1 resources 目錄新增 book.properties 配置文件
book.bookName=水滸傳 book.price=80.00 book.bookType=四大名著3.2 ?新增實(shí)體 Book.java
package com.spring.bean;import org.springframework.beans.factory.annotation.Value;public class Book {// 基本數(shù)據(jù)類(lèi)型賦值@Value("三國(guó)演義")private String bookName;// 使用${} ,可以讀取保配置文件的值(前提是配置文件保存的環(huán)境變量當(dāng)中)@Value("${book.bookType}")private String bookType;// 也可以使用spring表達(dá)式 #{} 做些簡(jiǎn)單的運(yùn)算然后賦值,比如 100-50 得到的值為50@Value("#{100-10.15}")private double price;public Book() {}public Book(String bookName, String bookType, double price) {this.bookName = bookName;this.bookType = bookType;this.price = price;}public String getBookName() {return bookName;}public void setBookName(String bookName) {this.bookName = bookName;}public String getBookType() {return bookType;}public void setBookType(String bookType) {this.bookType = bookType;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}@Overridepublic String toString() {return "Book{" +"bookName='" + bookName + '\'' +", bookType='" + bookType + '\'' +", price=" + price +'}';}}3.3 新增 TestValueConfig.java
package com.spring.config;import com.spring.bean.Book; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; //使用 @PropertySource 注解可以加載外部的配置文件,將外部配置文件中的key/value值保存到運(yùn)行的環(huán)境變量當(dāng)中去 @PropertySource(value = {"classpath:/book.properties"}) @Configuration public class TestValueConfig {@Beanpublic Book book() {return new Book();} }3.4 新增 TestValue.java 測(cè)試文件
package com.spring.test;import com.spring.config.TestValueConfig; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.core.env.ConfigurableEnvironment;public class TestValue {public static void main(String[] args) {AnnotationConfigApplicationContext annotationContext = new AnnotationConfigApplicationContext(TestValueConfig.class);Object book = annotationContext.getBean("book");System.out.println(book);//通過(guò)環(huán)境變量直接讀取配置文件里面的值ConfigurableEnvironment environment = annotationContext.getEnvironment();System.out.println(environment.getProperty("book.bookName"));} }輸出結(jié)果:
Book{bookName='三國(guó)演義', bookType='四大名著', price=89.85}
水滸傳
4、使用場(chǎng)景
直接對(duì)屬性進(jìn)行賦值;比如字符串、數(shù)值、文件內(nèi)容等。
配置文件中讀取簡(jiǎn)單類(lèi)型進(jìn)行賦值;配置文件需要保存到環(huán)境變量當(dāng)中才有效。
配置文件中讀取復(fù)雜數(shù)據(jù)類(lèi)型進(jìn)行賦值;比如數(shù)組、Map、對(duì)象列表。
IT技術(shù)分享社區(qū)
個(gè)人博客網(wǎng)站:https://programmerblog.xyz
文章推薦程序員效率:畫(huà)流程圖常用的工具程序員效率:整理常用的在線(xiàn)筆記軟件遠(yuǎn)程辦公:常用的遠(yuǎn)程協(xié)助軟件,你都知道嗎?51單片機(jī)程序下載、ISP及串口基礎(chǔ)知識(shí)硬件:斷路器、接觸器、繼電器基礎(chǔ)知識(shí)
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Spring系列(九):Spring属性赋值注解@Value 用法介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ColorDict词典下载
- 下一篇: Spring系列(十一):@Profil