之前的博客中提到过如何通过 java.util.ResourceBundle 和 java.util.Properties 类通过读取 key-value 文件的形式实现常量功能。其实 spring 已经通过 @Value 注解实现,下面看看如何使用。

1.创建.properties文件:

在如下目录创建 keyvalue.properties 文件 src/main/resources/META-INF/spring/keyvalue.properties ,写入如下内容:

test.value=iloveyou

2.配置文件中将.properties文件引入:

在applicationContext.xml 配置文件中加入如下内容:

<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"><property name="locations"><list><value>classpath*:META-INF/spring/*.properties</value></list></property>
</bean>
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer"><property name="properties" ref="configProperties"/>
</bean>

这里需要注意的是两个<bean> 的 id 都可以自定义,第一个<property> 中指定 .properties 文件的路径,第二个<property> 中的 ref 要和第一个<bean> 的 id 对应。

3.使用@Value注解:

引入Value 类,在需要取值的属性上方加上 @Value 注解,其中注明的 configProperties 和第一个 <bean> 中的 id 和第二个 <property> 中的 ref 属性对应,[] 中对应 .properties 文件中相应的 key 值:

import org.springframework.beans.factory.annotation.Value;@Value("#{configProperties['test.value']}")
private String testValue;System.out.println("TestValue Is: " + testValue);
// 输出结果  Test Value Is: iloveyou

传送门:

《工作积累(二)——使用java.util.ResourceBundle和java.util.Properties实现常量功能》

http://xitongjiagoushi.blog.51cto.com/9975742/1653838

转载于:https://blog.51cto.com/xitongjiagoushi/1659051

工作积累(五)——使用spring@Value注解实现常量功能相关推荐

  1. 第五章 Spring进阶-注解方式实现AOP(1)

    <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 徒弟:师傅,我 ...

  2. Spring学习(五)——Spring注解(一)

    ---恢复内容开始--- 概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作.如使用 JPA 注释配置 ORM 映射 ...

  3. java 知识积累_java学习知识积累-spring常用注解

    java学习知识积累-spring常用注解 类的分层注解,由于我们后台开发都是分为三层进行开发的,所以Spring框架提供了三种对于不同层的注解方式: 控制层:@Controller 服务层:@Ser ...

  4. 【Spring AOP】@Aspect结合案例详解(一): @Pointcut使用@annotation + 五种通知Advice注解(已附源码)

    文章目录 前言 AOP与Spring AOP @Aspect简单案例快速入门 一.@Pointcut @annotation 二.五种通知Advice 1. @Before前置通知 2. @After ...

  5. Spring Boot(五):spring data jpa的使用

    Spring Boot(五):spring data jpa的使用 一.spring data jpa介绍 1,JPA是什么 JPA(Java Persistence API)是Sun官方提出的Jav ...

  6. Spring Boot 注解大全,一键收藏了!

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达今日推荐:2020年7月程序员工资统计,平均14357元,又跌了,扎心个人原创100W+访问量博客:点击前往,查看更多 Sp ...

  7. 第五章 Spring Boot的数据库编程

    若有错,请指出 第二章 搭建Springboot环境,配置视图解析器jsp页面 第三章 全注解下的Spring Ioc 第四章 约定编程-Spring AOP 第五章 Spring Boot的数据库编 ...

  8. Spring基于注解TestContext 测试框架使用详解

    原创整理不易,转载请注明出处:Spring基于注解TestContext 测试框架使用详解 代码下载地址:http://www.zuidaima.com/share/1775574182939648. ...

  9. Spring 异步@Async注解用法 Spring @Async注解用法总结 Spring @Async基本用法示例

    Spring 异步@Async注解用法 Spring @Async注解用法总结 Spring @Async基本用法示例 一.概述 在日常开发的工作中,经常会使用异步进行开发.Spring 提供一个简单 ...

最新文章

  1. C语言内存管理超详解
  2. 【转】关于char * 与 char[]
  3. 细胞培养中出现黑胶虫污染处理方法
  4. IntelliJ IDEA使用(一):创建maven web项目
  5. 海致java面试_海致面试
  6. android data分区(标准)
  7. 修改mysql用户的密码
  8. Eigen密集矩阵求解 1 - 线性代数及矩阵分解
  9. 《王朔和海岩的文学选择》
  10. java restful接口开发实例_实战:基于Spring Boot快速开发RESTful风格API接口
  11. c语言深入浅出(一)strcpy和memcpy的区别
  12. java第一季_Java入门第一季
  13. 选择图像根据坐标得到图像。头像裁剪器
  14. Java 25天基础-DAY 05-面向对象-构造函数
  15. 中文问句匹配冠军团队的NLP读书会笔记分享
  16. 留个坑,不知道为什么sqlite3要求组权限才能执行db:migrate,而可以直接执行db:......
  17. thinkphp的四种控制器URL访问方式
  18. UniWebView for Unity移动端浏览器插件的一些基本情况
  19. 电脑主机前面的耳机插孔没声音怎么办
  20. snipaste怎么滚动截长图_还在用老方法截长图?分享iPhone滚动截屏方法,无需拼接1秒出图...

热门文章

  1. ewebeditor在上传文件时,总是提示“请选择一个有效的文件”,
  2. 华章揭秘系列精品图书(《Android应用开发揭秘》、《GWT揭秘》、《Spring技术内幕》)...
  3. Android中JSON解析细解及实例
  4. 第一章 C++ primer Plus
  5. ECMAScript 6的一些新特性
  6. Java 读取指定目录下的文件名和目录名
  7. EXT.NET复杂布局(四)——系统首页设计(下)
  8. 《你必须知道的.NET》,前言
  9. vscode+php+phpstudy:断点调试(f5后vscode无法继续下一步;浏览器无法断点,直接返回执行结果的解决方法)
  10. Stegsolve(Data Extract):lsb隐写