HandlerInterceptor中怎么取到配置文件参数
时间: 2023-07-27 11:18:59 浏览: 144
在HandlerInterceptor中获取配置文件参数的方法主要有两种:
1. 通过实现ApplicationContextAware接口,获取ApplicationContext上下文对象,然后使用该对象的getEnvironment()方法获取环境对象,再使用getProperty()方法获取配置文件中的参数值。
示例代码:
```java
public class MyInterceptor implements HandlerInterceptor, ApplicationContextAware {
private String myParam;
private ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Environment env = applicationContext.getEnvironment();
myParam = env.getProperty("myParam");
//...
return true;
}
}
```
2. 通过在配置文件中定义一个Bean,将配置文件中的参数值注入到该Bean中,然后在HandlerInterceptor中通过@Autowired注解注入该Bean即可。
示例代码:
在配置文件中定义一个Bean:
```xml
<bean id="myConfig" class="com.example.MyConfig">
<property name="myParam" value="${myParam}"/>
</bean>
```
在Interceptor中注入该Bean:
```java
public class MyInterceptor implements HandlerInterceptor {
@Autowired
private MyConfig myConfig;
//...
}
```
其中MyConfig类定义如下:
```java
public class MyConfig {
private String myParam;
public String getMyParam() {
return myParam;
}
public void setMyParam(String myParam) {
this.myParam = myParam;
}
}
```
这样,就可以在Interceptor中通过myConfig.getMyParam()方法获取配置文件中的参数值了。
阅读全文