Skip to content

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

@cavernBuilderZYX

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

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