Spring系列(九):Spring属性赋值注解@Value 用法介绍 |
您所在的位置:网站首页 › java给列表赋值 › Spring系列(九):Spring属性赋值注解@Value 用法介绍 |
目录 1、@Value注解的作用 2、@Value 注解的写法 3、用法示例 3.1 resources 目录新增 book.properties 配置文件 3.2 新增实体 Book.java 3.3 新增 TestValueConfig.java 3.4 新增 TestValue.java 测试文件 4、使用场景 今天给大家分享Spring属性赋值注解@Value 用法,希望对大家能有所帮助! 1、@Value注解的作用 @Value注解的作用主要可以给属性直接赋值、也可以读取配置文件中的值给属性赋值 2、@Value 注解的写法基本数据类型赋值:@Value("三国演义") 使用${} ,可以读取保配置文件的值(前提是配置文件保存的环境变量当中) 也可以使用spring表达式 #{} 做些简单的运算然后赋值,比如 @Value(100-1) 3、用法示例 3.1 resources 目录新增 book.properties 配置文件 book.bookName=水浒传 book.price=80.00 book.bookType=四大名著 3.2 新增实体 Book.java package com.spring.bean; import org.springframework.beans.factory.annotation.Value; public class Book { // 基本数据类型赋值 @Value("三国演义") private String bookName; // 使用${} ,可以读取保配置文件的值(前提是配置文件保存的环境变量当中) @Value("${book.bookType}") private String bookType; // 也可以使用spring表达式 #{} 做些简单的运算然后赋值,比如 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; } @Override public 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值保存到运行的环境变量当中去 @PropertySource(value = {"classpath:/book.properties"}) @Configuration public class TestValueConfig { @Bean public Book book() { return new Book(); } } 3.4 新增 TestValue.java 测试文件 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); //通过环境变量直接读取配置文件里面的值 ConfigurableEnvironment environment = annotationContext.getEnvironment(); System.out.println(environment.getProperty("book.bookName")); } }输出结果: Book{bookName='三国演义', bookType='四大名著', price=89.85} 水浒传 4、使用场景直接对属性进行赋值;比如字符串、数值、文件内容等。 配置文件中读取简单类型进行赋值;配置文件需要保存到环境变量当中才有效。 配置文件中读取复杂数据类型进行赋值;比如数组、Map、对象列表。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |