2 回答

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
您可以使用@Conditional(YourCondition.class)
從文檔中引用:
必須匹配才能注冊(cè)組件的單個(gè)條件。在bean定義將要注冊(cè)之前,立即檢查條件,并根據(jù)此時(shí)可以確定的任何標(biāo)準(zhǔn)自由否決注冊(cè)。
插圖:
@Conditional(MyCondition.class)
@Controller
public class Box{
...
}
public class MyCondition implements Condition{
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
Environment env = context.getEnvironment();
return null == env.getProperty("tokens.token[0].name");
}
}
此處,在缺少屬性的情況下將返回 null。en.getProperty

TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
@Faraz杜蘭尼嘗試這個(gè)概念,你會(huì)得到...
@Component
@EnableConfigurationProperties
@ConfigurationProperties(prefix = "tokens")
public class ServiceClass{
private String token;
...
}
添加回答
舉報(bào)