SpringBoot中拦截器中使用@Value无效和无法注入类的问题-创新互联
场景
名称栏目:SpringBoot中拦截器中使用@Value无效和无法注入类的问题-创新互联
URL链接:http://azwzsj.com/article/ccdcig.html
在使用Spring Boot框架时,很经常会使用到拦截器。可是,有时候我们会遇到在拦截器使用@Value注解来获取配置文件中的配置参数获取失败,一直都是为null的情况
创新互联公司专注于企业全网营销推广、网站重做改版、水磨沟网站定制设计、自适应品牌网站建设、html5、成都商城网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为水磨沟等各大城市提供网站开发制作服务。解决办法
@value:定义一个静态类型,然后定义一个方法在方法上使用@value注解取值并赋值
无法注入类:使用ApplicationContext注入即可
@Component
public class BaseInterceptor implements HandlerInterceptor {
@Autowired
private RedisUtils redisUtils = MyApplicationContext.getBean(RedisUtils.class);
public static String active;
@Value("${spring.profiles.active}")
public void setActive(String active){
BaseInterceptor.active = active;
}
@Override
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
System.out.println("active = " + active);
}
@Override
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse response, Object o, ModelAndView modelAndView) throws Exception {
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "*");
response.setHeader("Access-Control-Allow-Credentials", "true");
}
@Override
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
}
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
名称栏目:SpringBoot中拦截器中使用@Value无效和无法注入类的问题-创新互联
URL链接:http://azwzsj.com/article/ccdcig.html