当前位置: 首页 > 知识库问答 >
问题:

Spring启动拦截器无法获得自动连线环境?[重复]

缪茂勋
2023-03-14
@Component
public class AuthorizeInterceptor extends HandlerInterceptorAdapter {

    private Logger log = LoggerFactory.getLogger(AuthorizeInterceptor.class);

    @Autowired
    private Environment env;

    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        log.info("env:",env);
        return true;
    }
}

env是< code>null,有些配置使用< code>@Value()也无法获取值,总是< code>null
我们添加这个拦截器< code > registry . addinterceptor(new Interceptor())。addpath patterns("/* * ");它是< code >新的!< br >获取值的一种方法是< code > bean factory . get bean(" bean name ")。但是我怎么能让spring manager这个拦截器,这样我就可以使用< code>@Autowired

共有1个答案

慕项明
2023-03-14

应该是log.info("env: {}", env);

我相信您忘记在记录器调用中放置占位符{}

 类似资料:
  • 我想添加spring mvc拦截器作为Java配置的一部分。我已经有了一个基于xml的配置,但是我正在尝试使用Java的配置。对于拦截器,我从spring的文档中知道可以这样做- 但我的拦截器使用了一个spring豆,就像下面这样- SomeService类如下所示- 我使用这样的注释来扫描bean,并且没有在配置类中将它们指定为 根据我的理解,由于Java配置使用new来创建对象,所以sprin

  • 问题内容: 我在将环境连接到Spring项目时遇到问题。在这个班上 环境始终为null。 问题答案: 自动装配发生的时间比所谓的晚(由于某种原因)。 一种解决方法是实现并依赖Spring调用方法:

  • 问题内容: 我在Spring定义了这样的地图: 然后,我将该bean自动装配为定义为的属性: 这样做时,会抛出一个异常,说: `Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘DutyCreator’: Injection of autowired

  • 拦截驱动器 bp GetDriveTypeA 获取磁盘驱动器类型 bp GetLogicalDrives 获取逻辑驱动器符号 bp GetLogicalDriveStringsA 获取当前所有逻辑驱动器的根驱动器路径

  • 问题内容: 需要一些帮助,我刚刚开始学习Spring,似乎无法弄清楚我们的错: Application.java-没有包 User.java-包com.mapping UserDAO.java-包com.accesors Root.java-包com.controllers 当我运行项目时,我似乎得到了以下启示 堆栈跟踪: 据我了解,这意味着@ComponentScan没有检测到软件包 问题答案:

  • 我们正在使用Spring框架5和Spring Boot 2.0.0。M6,我们也在使用WebClient进行反应式编程。我们为我们的反应式Restendpoint创建了测试方法,所以我查找了一些关于如何做到这一点的例子。我发现这个或这个以及许多其他的都一样。他们只是自动绑定一个WebTestClient。所以我尝试了同样的方法: 我无法运行此操作,因为我收到错误信息: 因此,似乎不存在自动配置。我