我想在类中保存区域(经过身份验证的用户的属性)。区域列表从数据库中获取并存储为Spring Controller类中每个用户的属性,假设" A"。
现在这个区域属性我想在春天拦截器中获取" B"并希望验证用户所在的区域作为每个http请求中的参数,以及存储在region属性中的参数。
我被建议使用服务或组件来存储区域列表,以便拦截器B和控制器类A都可以使用该服务或组件。
在这种情况下,任何人都可以告诉我如何使用服务或组件。
答案 0 :(得分:5)
你的问题并不完全清楚,但我会尽我所能。
我想你是说你想在Spring MVC HandlerInterceptor和Controller中使用相同的类?
您应该使用依赖注入:
使用@Service注释服务类(这可以让Spring找到您的服务)
@Service
public class MyRegionService...
将组件扫描添加到您的应用程序上下文配置(这可以找到服务)
<context:component-scan base-package="com.example.yourapp"/>
将服务作为类成员添加到您需要的任何位置,并使用@Autowired注释(这会注入服务)
@Controller
public class MyController {
@Autowired
MyRegionService myRegionService;
}
和
public class MyHandlerInterceptor extends HandlerInterceptorAdapter {
@Autowired
MyRegionService myRegionService;
}