我使用的是Spring + Jpa,我希望将EntityManager纳入我的@Configuration类。
现在我的班级是这样的:
@Configuration
@PropertySource("classpath:base.properties")
public class Config {
private static final Logger log = Logger.getLogger(Config.class);
@Bean
public SpringContextManager contextManager() {
return new SpringContextManager(new DefaultApplication());
}
@Bean(initMethod = "start", destroyMethod = "stop")
public ServerSession serverSession() throws Exception {
try {
ServerSession serverSession = new ServerSession(urlGateway, useSsl, hostGateway, portGateway);
serverSession.setDefaultTimeToLive(5000);
return serverSession;
} catch (Throwable e) {
log.error("", e);
return null;
}
}
@Bean
public PluginManager pluginManager() {
PluginManager pluginManager = new PluginManager();
ThreadLocalManager.set(pluginManager);
return pluginManager;
}
我知道我无法将@PersistenceContext添加到@Configuration类,所以我现在还不知道如何获取entityManager。
这个目标是让entityManager尽快启动应用程序,因为我需要将它设置为一个ThreadLocal类(我需要这个类在JPA entitylistener中使用entityManager,其中注入persistenceContext不起作用)。
现在我从使用@Service注释的服务中获取entityManager,但将此设置设置为@Configuration类会更清晰。似乎更干净。
感谢您的帮助。