2013-11-24 64 views
1

我是Spring Data的新手,一般来说Spring,所以不要对我很难。在Spring数据中创建一个存储库实例

我找不到实例化存储库的方法。我阅读文档:

http://docs.spring.io/spring-data/data-solr/docs/1.0.0.RC1/reference/htmlsingle/#repositories.create-instances

它描述了声明库(XML,过滤器等),不同的方式,但不说我怎么能在我的代码获得它的一个实例。

这里是我的XML配置文件:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:solr="http://www.springframework.org/schema/data/solr" 
     xsi:schemaLocation="http://www.springframework.org/schema/data/solr http://www.springframework.org/schema/data/solr/spring-solr-1.0.xsd 
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> 

    <solr:repositories base-package="spring" /> 
    <solr:solr-server id="solrServer" url="http://localhost:8983/solr" /> 

    <bean id="taskRepo" class="spring.SolrTaskRepository"> 
    </bean> 

    <bean id="solrTemplate" class="org.springframework.data.solr.core.SolrTemplate"> 
     <constructor-arg index="0" ref="solrServer"/> 
    </bean> 
</beans> 

而且SolrTaskRepository:

public interface SolrTaskRepository<T, ID extends Serializable> extends SolrCrudRepository<T, ID> { 
    Page<T> findByOrigin(String origin, Pageable page); 
} 

有人能帮助我吗?

回答

1

如果你想使用回购(或任何的Spring bean)从上下文的地方:如果您在Spring所管理的其他一些豆使用回购

ApplicationContext context = new ClassPathXmlApplicationContext(
       "applicationContext.xml"); 

MyRepo obj = (MyRepo) context.getBean("myRepo"); 

(一些服务),您可以自动装配它

@Autowire 
private MyRepo myRepo;// + setter 

或注入它在上下文:

<bean id="someService" class="com.org.core.SomeService"> 
     <property name="myRepo" ref="myRepo" /> 
</bean> 

您需要的豆德左右逢源罚款的背景下:

<bean id="myRepo" class="com.org.core.MyRepo"> 
</bean> 

举例上下文文件:

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 

    <bean id="myRepo" class="com.org.core.MyRepo"> 
    </bean> 

</beans> 

如果加载与ClassPathXmlApplicationContext你需要在classpath中文件的上下文。

+0

我可以在JavaSE中使用它吗?还是必须使用EE? – damluar

+0

SE会好吗... –

+0

谢谢,请问您还可以举一个applicationContext.xml文件的例子吗? – damluar

相关问题