springboot 通过@value注解引用自定义properties

Posted xzp0222

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot 通过@value注解引用自定义properties相关的知识,希望对你有一定的参考价值。

有两种方式获取值

首先在类的头部添加 @PropertySource 注解

1、使用@Value注解获取值

    @Value("$tenant_id")
    private String tenantId;

在方法中使用:

  System.out.println("tenantId:" + tenantId);

输出:

技术图片

 

2、注入环境变量对象,存储注入的属性值

    @Autowired
    private ClassService classService;    

 在方法中使用:

    System.out.println("env:" + env.getProperty("accessToken"));

输出:

技术图片

 

 完整代码

@Controller
@PropertySource("generator.properties")
@RequestMapping("/manager/class")
public class ClassController 
    @Value("$tenant_id")
    private String tenantId;

    @Autowired
    private Environment env;  // 注入环境变量对象,存储注入的属性值

    @ResponseBody
    @GetMapping("/list")
    @RequiresPermissions("manager:class:class")
    public String list(@RequestParam Map<String, Object> params)
        System.out.println("tenantId:" + tenantId);
        System.out.println("env:" + env.getProperty("accessToken"));
        return "";
    
    

 

项目结构

技术图片

 

以上是关于springboot 通过@value注解引用自定义properties的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot系列之@ConfigurationProperties VS @Value注解

AspectJ注解

springboot注解@Value总是报Could not resolve placeholder的问题

SpringBoot的注解@Configuration @value 的区别

springboot 配置的参数注入

springboot-注解讲解