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. oracle 11g完全安装教程(CentOS)

    oracle下载链接:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html oracle ...

  2. facebook广告上传Invalid appsecret_proof provided in the API argument

    Status: 400 Response: { "error": { "message": "Invalid appsecret_proof prov ...

  3. Win10系列:JavaScript小球运动示例

    通过前面内容的学习,相信读者已经对开发基于JavaScript的Windows应用商店应用有了一定的了解,本小节通过一个小球运动的示例来介绍如何新建一个JavaScript的Windows应用商店项目 ...

  4. break&&continue

    break和continue的区别: 1. 当它们用在循环语句的循环体时,break用于立即退出本层循环,而continue仅仅结束本次循环(本次循环体内不执行continue语句后的其它语句,但下一 ...

  5. MySQL/MariaDB 版本选择

    ALPHA.BETA.Release Candidate(RC).Release.GA等版本号的意义 MySQL数据库会存在很多版本,在这么多的版本中,我们如何进行选择,那么,首先我们要了解各个版本号 ...

  6. Xcode清理存储空间

    文章来自 枣泥布丁 http://www.cocoachina.com/ios/20170711/19814.html 请针对性的选择删除 移除 Xcode 运行安装 APP 产生的缓存文件(Deri ...

  7. Centos7部署hadoop 3

    一:ssh免密登录: 1)vim /etc/ssh/sshd_config去掉注释或添加 RSAAuthentcation yes PubkeyAuthentication yes # Authent ...

  8. DevExpress WinForms v18.2新版亮点(二)

    行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WinForms v1 ...

  9. Delphi 10.3实现Android App的动态权限申请

    Delphi 10.3 RIO发布近两个月,针对Google Play的要求,完美实现了对Android 8的支持,即对Android API Level 26的支持.这支持当中,最主要的得算是动态申 ...

  10. kbmMWLog同时输出日志到多个日志管理器

    kbmMWLog日志框架,针对不同的业务情况,提供了多种日志管理器: TkbmMWStreamLogManager TkbmMWLocalFileLogManager TkbmMWSystemLogM ...