2013-11-24 3 views
1

Я новичок в Spring Data и Spring, в общем, поэтому не беспокойтесь.Создание экземпляра репозитория в Spring Data

Я не могу найти способ создать экземпляр репозитория. Я прочитал документацию:

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

Если вы хотите использовать репозиторий (или пружинный боб) где-то из контекста:

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

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

Если вы используете репозиторий в другом компоненте управляемом весной (некоторые услуги) вы можете autowire его

@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 вам нужен файл в пути к классам.

+0

Могу ли я использовать его в JavaSE или мне нужно использовать EE? – damluar

+0

Будет ОК в SE ... –

+0

спасибо, не могли бы вы также привести пример файла applicationContext.xml, пожалуйста? – damluar

Смежные вопросы