Skip to content

v1.0.8版本,@Value配置在类的成员变量上,自动修改无效 #6

Description

@cavernBuilderZYX

配置方式

@RestController
public class CommonSearchController {
    @Value("${test.config:China}")
    private String configStr;
 
    @GetMapping("/test")
    public RestResponse<String> test() {
        return RestResponse.success(configStr);
    }

}

实际调试及运行时无法做到配置项自动更改。
经调试查询,发现在DynamicConfigBeanPostProcessor类的postProcessAfterInitialization方法中获得的入参bean是被cglib代理的对象,因此,field.set方法是设置对应属性值在代理对象上,而在接口被调用时是取的是被代理对象上的属性,因此无效。

问题1

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions