Java Spring:如何使用“@Value”注释来注入“环境”属性?

2022-08-31 22:40:53

使用构造,例如

@Component
public class SomeClass {

    @Inject
    private Environment env;

    private String key;


    @PostConstruct
    private void init() {

        key = env.getProperty("SOME_KEY_PROPERTY");

    }

    ....
}

可以分配一些具有某些属性的字段。

有没有一种更短,更简洁的形式来做到这一点?


答案 1
@Component
public class SomeClass {

    @Value("#{environment.SOME_KEY_PROPERTY}")
    private String key;

    ....
}

答案 2

你应该能够做到这一点(假设你有一个StorySourcesPlaceHolderConfigurer注册)

@Value("${SOME_KEY_PROPERTY}")
private String key;

推荐