0

我有這樣一個物化實體類春@Configurable與JavaConfig在GAE上,物化班

@Entity 
@Cache 
@Index 
public class DummyEntity { 
    @Id private Long id; 
    private ObjectifyStartup objectifyStartup; 
    private String someData; 
    //Getters and setters for all 
} 

ObjectifyStartup是Web MVC JavaConfig文件初始化一個bean,我需要注入任何DummyEntity例如

@EnableWebMvc 
@Configuration 
public class SpringWebMvcConfig extends WebMvcConfigurerAdapter { 

    @Bean 
    public ObjectifyStartup objectifyStartup() { return new ObjectifyStartupImpl(); } 
} 

我想這樣做某處代碼,基本上在控制器

DummyEntity newDummy = new DummyEntity(); 

我知道我需要在DummyEntity上使用@Configurable註釋來使Spring容器注入依賴關係,但是我必須將此類DI的JavaConfig代碼放入SpringWebMvcConfig類中才能使用此DI。

由於此處提到的最佳做法Spring GAE Optimization中的自動裝配,我無法使用自動裝配,組件掃描,因爲GAE中的性能受到影響。我遇到的所有解決方案都使用@Autowired@ComponentScan<context:spring-configured/>。請提供一個使用主觀聲明而不是自動裝配的解決方案。

回答

1

相當長的一段時間,因爲我問這個問題後,我改變了策略,現在我不初始化ObjectifyStartup豆給我提供ofy()服務,從物化文檔這是不可取創造ofy()一個實例,並使用它泛應用程序。我這樣做是因爲在ObjectifyStartup bean中,我使用Objectify註冊​​了所有的實體,然後獲取它的bean實例化來執行數據存儲操作。但是現在我已經將實體註冊移動到一個靜態塊中,該塊使用Spring引導我的應用程序來執行。