With Spring wiring, if I have multiple implementations of an interface, I can use @Qualifier to specify which one I want.
E.g., assuming that I have a
@Component
@Qualifier("Toyota")
public class Toyota implements Car
and a
@Component
@Qualifier("Bmv")
public class Bmv implements Car
Then I can select a specific implementation with:
@Qualifier("Toyota") Car car
But is there a way to select the implementation based on an environment?
I.e. if I have spring.profiles.active set to local, then I will select the 'Toyota' implementation of Car, but if spring.profiles.active is set to dev or stage, then I will select the 'Bmv' implementation of Car?
An example of the exact syntax would be appreciated.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…