我想從我的application.properties檔案中訪問一些值,我嘗試使用下面的方法但沒有獲得價值。
application.property 檔案
welcome.message=My message
我的控制器.java
@RestController
class MessageRestController {
@Autowired MainConfigFiles mainConfigFiles;
@Value("${welcome.message}")
private String message;
@RequestMapping("/message")
String getMessage() {
return this.message;
}
@RequestMapping("/message2")
String getMessage2() {
MainConfigFiles a = new MainConfigFiles();
String msg = a.getMessage2();
System.out.println("Msg is....." msg);
return msg;
}
MainConfigFiles.java
@Configuration
@PropertySource(value = "application.properties")
public class MainConfigFiles {
@Value("${welcome.message}")
private String message2;
public String getMessage2() {
return message2;
}
}
我能夠使用在同一個檔案中提到的值來獲取值,但在使用另一個類中提到
@RequestMapping("/message") 的值時無法獲取值。@RequestMapping("/message2")
uj5u.com熱心網友回復:
首先,您需要從 application.properties 檔案中讀取 welcome.message 值并將其設定為 MainConfigFiles。稍后使用這個 MainConfigFiles 類(您已經在使用@Autowire)并獲取該訊息。
修改 MainConfigFiles 類如下。
public class MainConfigFiles {
Value("${welcome.message}")
private String message2;
Bean
public MainConfigFiles jpaConfig() {
MainConfigFiles mainConfigFiles = new MainConfigFiles();
mainConfigFiles.setMessage2(message2);
return mainConfigFiles;
}
public String getMessage2() {
return message2;
}
public void setMessage2(String message2) {
this.message2 = message2;
}
}
這是您的 MessageRestController。
@RestController
public class MessageRestController {
@Autowired
private MainConfigFiles mainConfigFiles;
@Value("${welcome.message}")
private String message;
@RequestMapping("/message")
String getMessage() {
return this.message;
}
@RequestMapping("/message2")
String getMessage2() {
String msg = mainConfigFiles.getMessage2();
System.out.println("Msg is....." msg);
return msg;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/518077.html
標籤:爪哇春天弹簧靴弹簧MVC
