2017-11-25 10 views
0

SpringBootアプリケーション内の他のBeanの前にBeanを初期化/作成:私はこのような私のApplication.javaを持って

package server; 

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;  

@SpringBootApplication(exclude=HibernateJpaAutoConfiguration.class) 
public class Application { 

    @Bean 
    public HibernateJpaSessionFactoryBean sessionFactory(EntityManagerFactory emf) { 
     HibernateJpaSessionFactoryBean fact = new HibernateJpaSessionFactoryBean(); 
     fact.setEntityManagerFactory(emf); 
     return fact; 
    } 

    public static void main(String[] args) { 
     SpringApplication.run(Application.class, args); 
    } 
} 

私の問題は、私は開始が機能する前に、SessionFactoryのためのBeanを作成したいということです@ @SpringBootApplicationのComponentScanが、私は私が理解したものから

答えて

3

は任意のBeanが実際にHibernateJpaSessionFactoryBean.
@DependsOnを使用してみてください使用する初期化取得する前に、あなたが最初HibernateJpaSessionFactoryBeanを初期化したいであることを行うことができますかわかりません
たとえば、HibernateJpaSessionFactoryBeanを別の設定クラスに移動することができます。これを通過するexample

関連する問題