Я новичок в Spring и пытаюсь ввести строку со значением, используя аннотацию @Value("${loginpage.message}")
внутри контроллера, аннотированную аннотацией @Controller
, и значение моей строки оценивается как строка "${loginpage.message}"
, а не то, что находится внутри моего файла свойств.
Ниже мой контроллер с строкой 'message', которую я хочу ввести.
@Controller
public class LoginController extends BaseController {
@Value("${loginpage.message}")
private String message;
@RequestMapping("/")
public String goToLoginPage(Model model) {
model.addAttribute("message", message);
return "/login";
}
}
Мой контекст приложения выглядит следующим образом:
<context:property-placeholder location="classpath:properties/application.properties" />
<context:annotation-config />
<context:component-scan base-package="com.me.application" />
В моем файле свойств есть строка:
loginpage.message=this is a test message
Spring должен подбирать значение в какой-то момент, потому что всякий раз, когда я изменяю @Value("${loginpage.message}")
на значение, не содержащееся в файле свойств, например @Value("${notInPropertiesFile}")
, я получаю исключение.