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引导我的应用程序来执行。