1、注解方式读取
1-1、@PropertySource配置文件路径设置,在类上添加注解,如果在默认路径下可以不添加该注解。
需要用@PropertySource的有:
  • 例如非application.properties 主配置文件
  • 例如有多配置文件引用,若取两个配置文件中有相同属性名的值,则取值为最后一个配置文件中的值
    •    @PropertySource({"classpath:my/my1.properties","classpath:my/my2.properties"}) public class TestController
  • 在application.properties中的文件,直接使用@Value读取即可,applicarion的读取优先级最高
     
 
2-2、@Value属性名,在属性名上添加该注解
@Value("${my.name}")
private String myName;
示例1:使用@Value读取application.properties里的配置内容
配置文件application.properties
spring.application.name=tn
 
测试类:
@RestController
//@PropertySource("classpath:my.properties") //application.properties不需要配置注解 默认读取
public class TaskController {
 
@Value("${my.name}")
private String userName;
 
@RequestMapping(value ="/")
public String testDemo() {
     System.out.println("userName:" + userName);
     return "hello word!";
   }
 
}
结果:
userName:tn
 
 
示例2:使用@Value读取my.properties里的配置内容
配置文件my.properties
name=tn
 
测试类:
@RestController
@PropertySource("classpath:my.properties")
public class TaskController {
 
@Value("${my.name}")
private String userName;
 
@RequestMapping(value ="/")
public String testDemo() {
     System.out.println("userName:" + userName);
     return "hello word!";
   }
 
}
结果:

        userName:tn

 
 
示例3:static静态变量使用@Value注入方式
错误写法:Config.getEnv()会返回null
@Component
@PropertySource({ "classpath:my.properties" })
public class MyConfig {
  @Value("${name}")
   private static String name;
 
  public static String getName() {
     return name;
   }
 
    public static void setName(String name) {
    MyConfig.name= name;
    }
}
正确写法:在非静态方法setEnv前使用@Value注解
@Component
@PropertySource({ "classpath:my.properties" })
public class MyConfig {
 
   private static String name;
 
  public static String getName() {
    return name;
   }
  @Value("${name}")
   public void setName(String name) {
     MyConfig.name= name;
  }
}
 
 

Sping boot 之 @Value("${xxx}") 注解获取配置文件内容的更多相关文章

  1. Spring Boot使用@Value注解获取配置文件中的属性

    获取配置文件的内容——

  2. 使用Spring注解获取配置文件信息

    需要加载的配置文件内容(resource.properties): #FTP相关配置 #FTP的IP地址 FTP_ADDRESS=192.168.1.121 FTP_PORT=21 FTP_USERN ...

  3. Spring Boot使用@ConfigurationProperties注解获取配置文件中的属性值

    注意:这种方式要提供属性的getter/setter方法—— 如果idea报错,提示没有相应的执行器,就需要在maven中添加: (虽然不配置代码也能正常运行,作用在下面会说明) 配置了该执行器后,在 ...

  4. Spring Boot入门(二):使用Profile实现多环境配置管理&如何获取配置文件值

    在上一篇博客Spring Boot入门(一):使用IDEA创建Spring Boot项目并使用yaml配置文件中,我们新建了一个最原始的Spring Boot项目,并使用了更为流行的yaml配置文件. ...

  5. Spring Boot入门(二):获取配置文件值

    本篇博客主要讲解下在Spring Boot中如何获取配置文件的值. 1. 使用yaml配置文件 Spring Boot默认生成的配置文件为application.properties,不过它也支持ya ...

  6. springMvc中获取通过注解获取properties配置文件(转)

    springMvc的项目中,通过注解@Value获取properties配置文件中的配置,使用该注解必须引入的包: spring-beans-4.1.4.RELEASE.jar 下面是需要在sprin ...

  7. @Value 注解获取properties值

    转自:使用Spring 3的@value简化配置文件的读取 Spring 3支持@value注解的方式获取properties文件中的配置值,大简化了读取配置文件的代码. 1.在application ...

  8. 获取配置文件中key=value

    之前一直是写一个方法获取配置文件中的key=value值得,现在提供更简单的. ResourceBundle 是java.utl中的一个专门针对.properties文件的. //获取配置文件对象 R ...

  9. 读取.Properties文件以及Spring注解读取文件内容

    public class Main { public static void main(String[] args) throws IOException { //创建Properties对象 Pro ...

随机推荐

  1. Spring整合Hystrix

    1.添加maven依赖 <dependency> <groupId>com.netflix.hystrix</groupId> <artifactId> ...

  2. Latex 循环插图、文件名包含空格

    \,...,} { \begin{figure} \centering \includegraphics[width=10cm]{pictures//rela\n} \caption{Attribut ...

  3. 4.3 if-else语句使用

    Q:对输入的成绩进行登记划分. #include<iostream> #include<cstdio> using namespace std; int main() { in ...

  4. day06 元组类型

    一.什么是元组? 元组就是一个不可变的列表 元组的基本使用: 1.用途:  用于存放多个值,当存放多个任意类型的值 2.定义方式:在()内用逗号分隔开多个任意类型的值 t=(1,3.1,'aaa',( ...

  5. bzoj4278

    题解: 把第一个串放好,加一个oo 然后把第二个串倒序放进来 然后就是http://www.cnblogs.com/xuanyiming/p/8510231.html这一题了 代码: #include ...

  6. redis:集群配置

    一.redis集群相关 1.概念:redis集群是通过数据分区提供可用性的,这样即使一部分节点失效也可以继续处理请求. 2.原理:集群使用数据分片实现,一个redis集群包括16384个哈希槽,数据库 ...

  7. 深入理解Connector

    上一篇主要是从各个容器的生命周期的角度讲了一下整个tomcat的运行流程,说明了各个容器之间的调用关系.但并没有太过详细的说明每一个组件并区分他们. 下面从功能的角度上详细的分析一下connector ...

  8. [转]如何远程连接运行OpenGL/Cuda 等GPU程序

    发现一篇神文,解决了困扰许久的远程桌面OpenGL/GPU 等问题... 原地址在这:http://www.tanglei.name/how-to-run-gpu-programs-using-rem ...

  9. Zynq-PL中创建AXI Master接口IP及AXI4-Lite总线主从读写时序测试(转)

    转载:原文  http://www.eefocus.com/antaur/blog/17-08/423751_6cc0d.html 0. 引言 通过之前的学习,可以在PL端创建从机模式的AXI接口IP ...

  10. 《统计学习方法》笔记(9):EM算法和隐马尔科夫模型

    EM也称期望极大算法(Expectation Maximization),是一种用来对含有隐含变量的概率模型进行极大似然估计的迭代算法.该算法可应用于隐马尔科夫模型的参数估计. 1.含有隐含参数的概率 ...