spring-boot - @AutoConfigureAfter 未按预期工作

标签 spring-boot spring-annotations

我有 3 个 spring-boot-starter 项目

其中一个自动配置类具有以下代码:

@Configuration
@ConditionalOnClass(value = Config.class)
@AutoConfigureAfter(value = {FileGeneratorConfig.class, FileUploaderConfig.class})
public class JobConfig 

FileGeneratorConfig 和 FileUploaderConfig 也是自动配置类。

我期望首先创建在 FileUploaderConfig 中创建的 bean。因此,对此进行测试,我在 JobConfig 和 FileUploaderConfig 中创建 bean 的方法中放置了一个断点。但断点首先击中 JobConfig,这让我相信我的 @AutoConfigureAfter 不起作用。这是正确的假设吗?

另外在 FileUploaderConfig 我有这个:

@Bean
    FileUtilContainer fileUtilContainer(FileUtilContainerProperties fileUtilContainerProperties){
        return new FileUtilContainer(FileUtil.createDirectory(fileUtilContainerProperties.getArchive()),
                                     FileUtil.createDirectory(fileUtilContainerProperties.getWorking()),
                                     FileUtil.createDirectory(fileUtilContainerProperties.getConfirmation()), 
                                     FileUtil.createDirectory(fileUtilContainerProperties.getConfirmationProcessed()),
                                     FileUtil.createDirectory(fileUtilContainerProperties.getError()), 
                                     FileUtil.createDirectory(fileUtilContainerProperties.getErrorProcessed()));
    }

和 FileUtilContainerProperties:

@Component
@ConfigurationProperties(prefix = "batch.letter.directory", ignoreUnknownFields = false)
public class FileUtilContainerProperties

但它没有创建 FileUtilContainerProperties bean。我在这里遗漏了什么吗?

最佳答案

AutoConfigureAfter 控制配置文件的处理顺序及其 bean 定义的创建顺序。根据这些定义创建 Bean 的顺序是一个单独的问题,并且取决于 Bean 之间存在的依赖关系等。

关于spring-boot - @AutoConfigureAfter 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42284478/

相关文章:

java - 周围建议中的 HttpServletResponse 为 null,我做错了什么?

java - 创建名称为 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping' 的 bean 时出错

java - Maven: 包 io.swagger.annotations 不存在

java - 使用 WebMvcConfigurationSupport 而不是 WebMvcConfigurerAdapter 返回空值

java - spring boot API - 文档处理并在文档上并行执行 python 脚本

amazon-web-services - ALB健康检查问题

java - jar 文件的 shell 脚本

java - 使用<上下文:component-scan base-package/> in annotation based configuration

java - Spring Boot 注解配置的时序问题

java - application.yml 中的@Value 返回错误值