Java 避免为每个URL加载@ModelAttribute(“attr”)

Java 避免为每个URL加载@ModelAttribute(“attr”),java,spring,modelattribute,Java,Spring,Modelattribute,我在jsp中有一个下拉列表,其中我使用@modeldattribute从数据库中填充数据。但是,每当url在url执行模型属性代码运行之前命中,并意外命中数据库时。。。。有没有办法避免这种情况。。。。 我的代码是 @ModelAttribute("courseList") public Map<String, String> gerCourseNameList(HttpSession session, HttpServletRequest httpSevlet

我在jsp中有一个下拉列表,其中我使用@modeldattribute从数据库中填充数据。但是,每当url在url执行模型属性代码运行之前命中,并意外命中数据库时。。。。有没有办法避免这种情况。。。。 我的代码是

@ModelAttribute("courseList")
    public Map<String, String> gerCourseNameList(HttpSession session,
        HttpServletRequest httpSevletRequest, HttpServletResponse response,
        ModelMap model) throws IOException {
    Map<String, String> map = null;

 ------ My code here------

}
即使对于控制器中的ajax调用,此代码也正在运行


如何避免这种情况……

每当收到不包含该名称的模型属性的请求时,都会运行此方法

向控制器类添加注释

@SessionAttributes ({"courseList"})
这将导致将模型属性添加到会话中,然后在每次请求时将其添加回模型中,然后再进行检查,否则将导致执行方法。

此url必须映射到方法?请张贴剩余的班级代码
@SessionAttributes ({"courseList"})