【发布时间】:2020-05-10 11:42:39
【问题描述】:
我有一个日志配置类,从那里向应用程序注入一个日志过滤器类。我需要将 2 个字符串参数传递给日志过滤器类构造函数。但是它失败并出现错误
"message" : "Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'LoggingFilter' defined in file \LoggingFilter.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'java.lang.String' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}"
日志配置类
@Configuration
public class LoggingConfiguration {
@Value("${operation.name}")
private String operationName;
@Value("${source.name.ui}")
private String sourceName;
@Bean
public LoggingFilter getLoggingFilter() {
return new LoggingFilter (operationName,sourceName);
}
}
这是我的日志过滤器类
@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class LoggingFilter implements Filter {
private String operationName;
private String source;
public LoggingFilter(String operationName,String source) {
this.operationName = operationName;
this.source = source;
}
}
如何将这些变量传递给过滤器类?
【问题讨论】:
标签: java spring spring-boot dependency-injection constructor-injection