として働いていない私は3春・ブート・スターター・プロジェクトを持っている@AutoConfigureAfterが希望
は、自動クラスの一つは、次のコードを持っています
@Configuration
@ConditionalOnClass(value = Config.class)
@AutoConfigureAfter(value = {FileGeneratorConfig.class, FileUploaderConfig.class})
public class JobConfig
FileGeneratorConfigとFileUploaderConfigも自動クラスです。
FileUploaderConfigで作成したBeanが最初に作成されることを期待していました。これをテストして、JobConfigとFileUploaderConfigにBeanを作成するメソッドにブレークポイントを設定しました。しかし、私の@AutoConfigureAfterが動作していないと思うように、ブレークポイントが最初にJobConfigにヒットします。それは正しい推測です。
@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を作成していない
もFileUploaderConfigに私はこれを持っています。私はここに何かを逃していますか
ありがとうございます。 @Componentが動作していない2番目の部分はどうでしょうか? FileUtilContainerPropertiesがコンテキストに追加されませんでしたか? –
私はそれがコンポーネントスキャンされていないパッケージにあると思います。自動設定でのコンポーネントスキャンに頼るのは避けるのが最善です。代わりに@FileUploaderConfig'に '@EnableConfigurationProperties(FileUtilContainerProperties.class)'を使用したいと思います。 –
ありがとうAndy私はそれを使用し、それは正常に動作します。 AutoConfigurationを使用する際には、コンポーネントのスキャンを避け、@EnableConfigurationPropertiesを正しく使用する必要があります。 –