У меня есть сервисный компонент, способный получать/устанавливать значения свойств из постоянного уровня (например: база данных). Что-то вроде этого:Spring MVC: глобально впрыскивающие свойства из постоянного слоя
@Service
public ConfigService {
public String getConfig(String key);
}
Задача для каждого класса контроллера я пишу я должен autowire и заполнить мою модель с ключевым свойством/значений:
@Controller
@RequestMapping("/foo")
public FooController {
@Autowired private ConfigService configService;
@RequestMapping("/login")
public String login(Model model) {
model.addAttribute("site.name", configService.getConfig("site.name"));
//...
}
}
Есть ли способ, что я могу автоматически получать значение этого свойства на моем весеннем JSP-представлении? Я не хочу прикладывать это к моему объекту модели для каждого класса контроллера, который я пишу.
Ближайший я могу до сих пор использовать Spring ResourceBundleMessageSource bean и <spring:message>
теги, однако я ограничен использованием файла свойств, не могу сохранить его в базе данных.
Я не уверен в теге Spring JSP Spring, но я знаю, что шаблоны Thymeleaf могут извлекать любой Spring-компонент по имени (например, 'configService.config ['site.name']'. – chrylis