Как передать данные во все представления в Spring Boot MVC

Я хочу, чтобы некоторые данные из базы данных были доступны для отображения на многих или даже всех страницах моего приложения Spring MVC, как я могу это сделать? Понятно что писать один и тот же код в каждом контроллере бессмысленно.


Ответы (1 шт):

Автор решения: AdmiralX

Нашел ответ, можно воспользоваться аннотацией @ControllerAdvice и данный метод addModelInformation будет вызван во всех контроллерах перед возвращением представления.

import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ModelAttribute;

@ControllerAdvice
public class BaseController {

    @ModelAttribute
    public void addModelInformation(Model model){
        model.addAttribute("someVariable", "someData");
        // ......
        // ......
        // ......
    }
}
→ Ссылка