new()
への呼び出しによって作成されるインスタンスでジェネリックDAOサービスをAutowireできるようにしたいのです...私のJavaコードで。私は@configurableがThis spring docを見る正しい方法だと理解しました。だからここ@Configurableクラスで@Autowiredは動作しません
は、私は、メイン設定クラスはそのように見えるこの
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { xxx.MainConfig.class })
@ActiveProfiles({ "database-test", "classpath" })
public class DynVdynOperationsImplTest {
@Test
public void testSend() {
underTest = new DynVdynOperationsImpl();
underTest.sendVdyn("0254", null, null);
... }
のように見える春のテストとJUnitテストでそれを使用したい私のクラスのコード
@Configurable(dependencyCheck=true)
public class DynVdynOperationsImpl implements DynVdynOperations {
@Autowired
private DynVdynInDbDao vdynDao;
ある
@Configuration
@EnableSpringConfigured
@ComponentScan(basePackages = {xxx })
public class MainConfig {
...
@Bean
@Scope("prototype")
public DynVdynOperations vdynOperations() {
return new DynVdynOperationsImpl();
}
テストを実行すると、未テストのvdynDaoプロパティは適切に自動配線されずに残りますヌル。 this similar questionを見ると、自分の設定でAspectJに関して不足しているかもしれません。
簡単に動作させる方法はありますか?つまり、私は自分のコードにオブジェクトを作成するときに自分自身を注入するのに比べて、飛行機を殺すためにハンマーを使用するような気がしないのですか? @Service
オブジェクト内の自分のコードから直接Spring Beanファクトリを呼び出すことができますか?