16

我正在尝试在一个小型独立应用程序中一起使用弹簧数据和弹簧配置。

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

1.我的问题是如何在不使用的情况下发现 spring 数据存储库

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

通过弹簧配置?

2.如果没有,我可以以某种方式一起使用“ClassPathXmlApplicationContext”和“AnnotationConfigApplicationContext”吗?

4

4 回答 4

69

您现在可以使用注释@EnableJpaRepositories("some.root.package")

例如:

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

Spring Data的公告

于 2012-10-22T12:13:44.083 回答
4

为了完整起见并解决您的第二个问题:是的,您可以结合 Java 和 XML 配置。这样您就不必等待下一个 Spring Data JPA 版本。

只需使用ImportResource注释您的配置类,如下所示:

@Configuration
@ImportResource("classpath:jpa-config.xml")
public class AppConfig {
    ...
}
于 2012-08-24T11:53:41.600 回答
2

这个答案现在已经过时了。

目前还没有等价物<jpa:repositories … />。随意跟踪相应的JIRA 票证。该功能将是 JPA 模块 (1.1) 和 MongoDB (1.1) 即将发布的 GA 版本的主要功能。

于 2011-12-23T08:04:54.637 回答
1

我认为你应该看看 context:component-scan

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

它自动检测使用 @Repository/@Service/@Component 注释的组件。检查这里

于 2011-12-23T06:45:11.697 回答