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. Tomcat修改用户名密码教程

    Tomcat安装教程见http://www.cnblogs.com/lsdb/p/6497964.html 启动tomcat后访问http://127.0.0.1/:8080,出现界面如下其右上角有三 ...

  2. 基于spring的PropertySource类实现配置的动态替换

    public class ConfigPropertySource extends PropertySource<Properties> implements PriorityOrdere ...

  3. SpringBoot使用Spring Initializer

    IDE都支持使用Spring的项目创建Spring的项目创建向导,快速创建一个SpringBoot项目:选择我们需要的模块:向导会联网创建SpringBoot项目:默认生成的SpringBoot项目: ...

  4. python xlrd使用

    python xlrd使用 1● xlrd安装   管理员模式           success 2● 引用 import xlrd    

  5. POJ 1006 生理周期(中国剩余定理)

    POJ 1006 生理周期 分析:中国剩余定理(注意结果要大于d即可) 代码: #include<iostream> #include<cstdio> using namesp ...

  6. js匀速运动

    匀速运动      封装匀速运动原理:设置定时器,将传入的ele,设定一个速度,使用定时器获取当前时间的一个位置,加上速度值,给回节点,当节点到达目标位置,判断给他清除定时器. 匀速效果地址:http ...

  7. pyhton字符串

    a = 5 # 1 + 1 = 10 + 1 = 11 + 1 = 100 + 1 = 101print(a.bit_length()) # 计算一个数字的二进制长度. a = 10# print(t ...

  8. useful links about machine learning

    机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 1) 机器学习(Machine Learning)&深度学习(Deep Lea ...

  9. vue引用样式

    cnpm i sass-loader node-sass -D <link rel="stylesheet" href="./static/reset.css&qu ...

  10. SQL-18 查找当前薪水(to_date='9999-01-01')排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不准使用order by

    题目描述 查找当前薪水(to_date='9999-01-01')排名第二多的员工编号emp_no.薪水salary.last_name以及first_name,不准使用order byCREATE ...