它只是不起作用。我在以下位置看到了文档
我看到了答案
Spring boot externalize config properties/messages on Java annotations
我有
*
MailTrainAPI mt = new MailTrainAPI();
mt.sendMail(map);
...
@Component
public class MailTrainAPI {
@Value("${mailtrain.url}")
private String API;
public void sendMail(MultiValueMap<String, String> map) {
System.out.println("API = "+API);
API = System.getProperty("mailtrain.api");
System.out.println("API = "+API);
API = System.getenv("mailtrain.api");
System.out.println("API = "+API);
src/main/resources/application.properties
它打印
mailtrain.url=http://mail.galaxy.store/api/send/galaxybadge
这不起作用,因为我自己实例化了该类,而Spring对此一无所知。如何手动访问API = null
API = null
API = null
文件中的属性?
Spring Boot 1.5.21
答案 0 :(得分:0)
我能够用
修复它application.properties
但是我认为会有一种更轻松,更好的方法,而且绒毛更少。
答案 1 :(得分:0)
private async void StartTest_Click(object sender, RoutedEventArgs e)
{
foreach (var button in selectedButtons)
{
button.Background = resourceDictionary["ProcessingButtonColour"] as Brush;
await Task.Delay(3000);
button.Background = resourceDictionary["HoverOverColourInactive"] as Brush;
}
}
应该是Spring bean,也就是 component ,由于MailTrainAPI
而被自动扫描,然后注入@Component
。 / p>
但是,当您调用@Value("${mailtrain.url}")
时,您自己创建了一个单独的类实例。不要那样做。
您使用该对象的代码必须通过注入字段来接收它,例如
new MailTrainAPI()