Сканирование репозиториев Spring Data с помощью Spring Config? - PullRequest
14 голосов
/ 23 декабря 2011

Я пытаюсь использовать данные пружины и конфигурацию пружины вместе в небольшом автономном приложении.

...
  public static void main( String[] args )
  {        
    ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
    ... 
  }

1. Мой вопрос заключается в том, как я могу обнаружить репозитории данных Spring без использования

<jpa:repositories base-package="foo.repositories" />

по весеннему конфигу?

2. Если нет, могу ли я как-нибудь использовать ClassPathXmlApplicationContext и AnnotationConfigApplicationContext вместе?

Ответы [ 4 ]

62 голосов
/ 22 октября 2012

Теперь вы можете использовать аннотацию @EnableJpaRepositories("some.root.package").

Например:

@Configuration
@EnableTransactionManagement(proxyTargetClass = true)
@EnableJpaRepositories("some.root.package")
@ComponentScan(basePackages = { "maybe.another.root.package" })
public class SystemConfiguration {
    ...
}

( Объявление Spring Data )

4 голосов
/ 24 августа 2012

Для полноты картины и решения второго вопроса: да, вы можете комбинировать конфигурации Java и XML.Таким образом, вам не нужно ждать следующего выпуска Spring Data JPA.

Просто аннотируйте свой класс конфигурации с помощью ImportResource , например:

@Configuration
@ImportResource("classpath:jpa-config.xml")
public class AppConfig {
    ...
}
2 голосов
/ 23 декабря 2011

Этот ответ устарел.

В настоящее время нет эквивалента <jpa:repositories … />.Не стесняйтесь проследить за соответствующим билетом JIRA .Эта функция станет основной для будущих версий GA модуля JPA (1.1), а также MongoDB (1.1).

1 голос
/ 23 декабря 2011

Я думаю, вы должны взглянуть на контекст: компонент-сканирование

<context:component-scan base-package="com.myProject"/>

Он автоматически определяет компоненты, помеченные @ Repository / @ Service / @ Component.Проверьте здесь для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...