Java 注入Springbean的Hibernate搜索映射工厂

Java 注入Springbean的Hibernate搜索映射工厂,java,spring,dependency-injection,hibernate-search,Java,Spring,Dependency Injection,Hibernate Search,我为每个实体使用和配置了boosting。配置可以通过我需要在MappingFactory中访问的服务读取。是否有可能在SearchMappingFactory中以某种方式获取此bean?问题在于,在搜索映射需要bean的时候,spring上下文并没有完全创建 public class SearchMappingFactory{ @Factory public SearchMapping getSearchMapping() { SearchMapping sear

我为每个实体使用和配置了boosting。配置可以通过我需要在MappingFactory中访问的服务读取。是否有可能在SearchMappingFactory中以某种方式获取此bean?问题在于,在搜索映射需要bean的时候,spring上下文并没有完全创建

 public class SearchMappingFactory{

   @Factory
   public SearchMapping getSearchMapping() {
       SearchMapping searchMapping = new SearchMapping();

       // here I need to read configuration using configurationService
       // ... define mapping ...

       return searchMapping;
   }
 }
然后我在sessionFactory中这样设置映射

 hibernateProperties.put("hibernate.search.model_mapping", SearchMappingFactory.class.getCanonicalName());

我可以传递内部带有自动连线bean的SearchMappingFactory实例,但SearchMappingBuilder.getProgrammaticMappingClass不允许…

我找到了解决方案,我使SearchMappingFactory成为具有自动连线依赖项的bean,并直接在那里传递了searchMapping:

 hibernateProperties.put("hibernate.search.model_mapping", searchMappingFactory.getSearchMapping());

您能否澄清您的问题并添加更多上下文/代码?“配置可以通过映射工厂中需要访问的服务读取”是什么意思。您指的是什么配置服务?“问题是应用程序上下文没有完全创建”-你是说Spring应用程序上下文吗?对,这是Spring上下文,基本上我需要在SearchMappingFactory中自动连接Spring bean。在本例中,这个bean是我的configurationService,我在其中读取xml配置。