2017-09-12 10 views
0

は、私は、DBのシェマにいくつかのエンティティを追加しようとした@PostConstructがSpringコンテナで呼び出されないのはなぜですか?

設定:

@Configuration 
@ComponentScan(ApplicationConfig.basePackage) 
public class ApplicationConfig { 
public final static String basePackage = "test" 
} 

春のコンテナの呼び出し:として

public class PersistenceService { 

@Autowired 
TestEntityRepository testEntityRepository; 

@PostConstruct 
public void initialize(){ 
    //repository.deleteAll(); 

    testEntityRepository.save(new TestEntity("test1")); 
    testEntityRepository.save(new TestEntity("test2")); 
    testEntityRepository.save(new TestEntity("test3")); 
} 

} 

:注釈付き

public class StartApp { 

public static void main(String... args) throws Exception{ 

    ApplicationContext context = new AnnotationConfigApplicationContext(ApplicationConfig.class); 

    TestEntityRepository repository = (TestEntityRepository) context.getBean("testEntityRepository"); 
    repository.save(new TestEntity("test")); 
} 

} 

ターゲットクラステーブルの結果は1つだけです - "test"。 Tomcatではすべて正常に動作します。

https://github.com/GlebSa/TestSpringJPA

+0

メモリ内の組み込みデータベースを使用しているように見えるので、データベースには1つのレコードのみが含まれていることをどのように知っていますか? –

答えて

1

それはあなたのPersistenceServiceがサービスとして認識されていないようです。 @ServicePersistenceServiceに追加できますか?

@Service 
public class PersistenceService { 
... 
} 

このヘルプが必要です。

+0

ようこそ。 :) –

関連する問題