Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

spring - How do I get a property value from an ApplicationContext object? (not using an annotation)

If I have:

@Autowired private ApplicationContext ctx;

I can get beans and resources by using one of the the getBean methods. However, I can't figure out how to get property values.

Obviously, I can create a new bean which has an @Value property like:

private @Value("${someProp}") String somePropValue;

What method do I call on the ApplicationContext object to get that value without autowiring a bean?

I usually use the @Value, but there is a situation where the SPeL expression needs to be dynamic, so I can't just use an annotation.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

In the case where SPeL expression needs to be dynamic, get the property value manually:

somePropValue = ctx.getEnvironment().getProperty("someProp");

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...