我有一个Objectify Entity类
@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();
我知道我需要在@Configurable
上使用DummyEntity
注释来使Spring容器注入依赖项,但是为了这个我需要为SpringWebMvcConfig
类添加的JavaConfig代码是什么DI工作?
我无法使用自动装配,组件扫描,因为此处提到的最佳做法Spring GAE Optimization导致自动装配导致GAE性能下降。我遇到的所有解决方案都使用@Autowired
,@ComponentScan
和<context:spring-configured/>
。请提供使用主观声明而非自动装配的解决方案。
答案 0 :(得分:1)
自从我提出这个问题以来已经有一段时间了,我改变了策略,现在我没有初始化ObjectifyStartup
bean来为我提供ofy()
服务,因为从Objectify Docs来看,不建议创建ofy()
的实例并使用它pan-application。我这样做是因为在ObjectifyStartup
bean中我使用Objectify注册了所有实体,然后获取其bean实例以进行数据存储操作。但是现在我已经将实体注册移动到一个静态块,该块通过Spring引导我的应用程序。