次にサービスです。
@Service
public class MyService {
public List<Integer> getIds(Filter filter){
// Method body
}
}
そして構成クラス。
@Configuration
public static class MyApplicationContext {
@Bean
public Filter filter(ApplicationContext context) {
return new Filter();
}
}
望ましい目標は、 getIds()が正しい結果を返すことを確認する単体テストです。以下の JUnit テストを参照してください。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=MyApplicationContext.class,
loader=AnnotationConfigContextLoader.class)
public class AppTest
{
@Autowired
Filter filter;
@Autowired
MyService service;
}
BeanCreationException: Could not autowire field
コンパイラは Filter クラスの正しい Bean を見つけますが、サービス変数の例外をスローします。Service クラスを ContextConfiguration クラス属性に追加しようとしましたが、IllegalStateException: Failed to load ApplicationContext
例外が発生します。
MyService を ContextConfiguration に追加するにはどうすればよいですか?