0
我需要使用@DependsOn註解,並且我想要安全地獲取bean名稱。我目前的實現如下所述,但我更喜歡從ChildContextProvider.class.getSimpleName()或類似的實現中設置常量CLASS_NAME,以便輕鬆地找到類的用法並對重構安全。如何在spring中安全地從simpleClassName設置bean名稱
豆與不變:
@Component(value = WebhookManager.CLASS_NAME)
public class WebhookManager {
public static final String CLASS_NAME = "WebhookManager";
...
}
豆與@DependsOn註釋:
@RestController
@DependsOn({ChildContextProvider.CLASS_NAME, WebhookManager.CLASS_NAME})
public class PropertiesRESTController {
...
}
我要尋找這樣一個解決方案,但是這並不消息編譯:CLASS_NAME必須是恆定的:
@Component(value = WebhookManager.CLASS_NAME)
public class WebhookManager {
public static final String CLASS_NAME = ChildContextProvider.class.getSimpleName();
...
}
是的,我從消息瞭解這一點,但我要求一些解決方案。也許它不存在。 – Cyva
我能看到的唯一解決方案就是使用你的第一個例子。您必須使用不在運行時計算的常量。爲什麼使用String編譯時常量不適合你? –
它的工作原理,但我正在尋找更好的東西,以便重構等安全感謝您的答覆。 – Cyva