spring如何实现根据某个环境变量的值来过滤某个模块底下的所有类?

spring 自定义类过滤 如何配置根据某个环境变量的值来决定是否过滤?
逻辑大致如下:

public class YtmsMigratorFilter implements TypeFilter{
    @Value("${upgrade.from.ytms.to.yiot}")
    private String enable;

    @Override
    public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory) {

        if(metadataReader.getClassMetadata().getClassName().contains("ytms") && !"true".equals(enable)){
            return true;
        }
        return false;
    }
}

现在发现@Value不生效,给类加上@Component也没用,貌似是bean的注入在类扫描之后才执行,但是我现在的需求又要根据某个环境变量的值来觉得是否过滤某个模块底下的所有bean,有没有办法实现这个功能?

其实用配置项也是可以实现的,用命令行参数-Dupgrade.from.ytms.to.yiot=true

实现EnvironmentAware接口,手动从Environment获取,即environment.getProperty("upgrade.from.ytms.to.yiot")