Java 在SpringMVC中如何从控制器调用组件或服务

Java 在SpringMVC中如何从控制器调用组件或服务,java,spring,spring-mvc,Java,Spring,Spring Mvc,我想在类中保存区域(已验证用户的属性)。区域列表从数据库中获取,并作为Spring控制器类(假设为“a”)中每个用户的属性存储 现在,我想在spring拦截器“B”中获取这个region属性,并想验证作为每个http请求中的参数而获得的用户的region属性与存储在region属性中的region属性 有人建议我使用服务或组件来存储区域列表,以便拦截器B和控制器类A都可以使用该服务或组件 有人能告诉我在这种情况下如何使用服务或组件吗。您的问题并不完全清楚,但我会尽力的 我想你是说你想在Sprin

我想在类中保存区域(已验证用户的属性)。区域列表从数据库中获取,并作为Spring控制器类(假设为“a”)中每个用户的属性存储

现在,我想在spring拦截器“B”中获取这个region属性,并想验证作为每个http请求中的参数而获得的用户的region属性与存储在region属性中的region属性

有人建议我使用服务或组件来存储区域列表,以便拦截器B和控制器类A都可以使用该服务或组件


有人能告诉我在这种情况下如何使用服务或组件吗。

您的问题并不完全清楚,但我会尽力的

我想你是说你想在Spring MVC HandlerInterceptor和控制器中使用同一个类

您应该为此使用依赖项注入:

用@service注释服务类(这可以让Spring找到您的服务)

将组件扫描添加到应用程序上下文配置中(这将查找服务)

public class MyHandlerInterceptor extends HandlerInterceptorAdapter {

  @Autowired
  MyRegionService myRegionService;
}
<context:component-scan base-package="com.example.yourapp"/>
@Controller
public class MyController {

  @Autowired
  MyRegionService myRegionService;
}
public class MyHandlerInterceptor extends HandlerInterceptorAdapter {

  @Autowired
  MyRegionService myRegionService;
}