私は現在、SpringブートでCommandLineRunnerを作成しています。私のクラスを@Autowiredしようとするまではうまくいっていました:常にnullで、Springから同じエラーが出ました: "名前 'initBatch'でBeanを作成中にエラーが発生しました:autowired依存関係の注入が失敗しました: [Utils]依存関係のために:この依存関係のためのautowire候補としての資格を少なくとも1つの豆を期待このエラーはなぜ起こるか依存関係の注釈が、私はまだ把握することはできません これは私のコードです:。。。春のブートサービスがnullです
@SpringBootApplication
public class InitBatch implements CommandLineRunner {
@Autowired
private Utils Utils;
@Override
public void run(String... args) throws Exception {
System.out.println("Hello World");
}
public static void main(String[] args) throws Exception {
SpringApplication.run(InitBatch.class, args);
}
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("instances");
return messageSource;
}
これはUtilsのクラスです問題を引き起こしている:
@Configurable
@Service
public class Utils {
private static final Logger LOG = LoggerFactory.getLogger(Utils.class);
//NUMEROUS METHODS...
}
また、彼女のInitはWSとしてアプリケーションをロードします。すべてを1人で走らせると、同じクラスがうまくいく。すべて同じ、同じ構成で、同じファイルを使用して、なぜ
が@Configuration
@ComponentScan({ "ws.controller","ws.service",
"ws.dao", "ws.util", "ws.filtro",
"ws.repository", "ws.model.log", "ws.logger.impl"})
@EnableAutoConfiguration
public class Init extends SpringBootServletInitializer {
private static final int SECS = 10;
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Init.class);
}
/**
* Main method.
*
* @param args String[].
* @throws Exception Exception.
*/
public static void main(String[] args) throws Exception {
SpringApplication.run(Init.class, args);
}
@Bean
public ReloadableResourceBundleMessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasename("instances");
messageSource.setCacheSeconds(SECS);
return messageSource;
}
}
は、私はちょうど理解していない(Tomcatのウェブアプリとして)Init.javaで動作しますが、これは働いている他の初期化ですファイルはCommandLineRunnerでヌルです。
提案がありますか?
ありがとうございます!
あなたが正しいです、私はこの構成で私の前のテストを台無しにしました。私が@ComponentScanを魅力のように動作させるとします。ありがとう! –
乾杯..... @NicolasGallegos –