我正在尝试在一个小型独立应用程序中一起使用spring数据和spring配置。
...
public static void main( String[] args )
{
ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
...
}
1。我的问题是如何在不使用
的情况下发现spring数据存储库<jpa:repositories base-package="foo.repositories" />
通过spring config?
2. 如果没有,我可以以某种方式一起使用'ClassPathXmlApplicationContext'和'AnnotationConfigApplicationContext'吗?
答案 0 :(得分:60)
您现在可以使用注释@EnableJpaRepositories("some.root.package")
。
例如:
@Configuration
@EnableTransactionManagement(proxyTargetClass = true)
@EnableJpaRepositories("some.root.package")
@ComponentScan(basePackages = { "maybe.another.root.package" })
public class SystemConfiguration {
...
}
答案 1 :(得分:4)
为了完整起见并解决第二个问题:是的,您可以组合Java和XML配置。这样您就不必等待下一个Spring Data JPA版本。
使用ImportResource注释您的配置类,如下所示:
@Configuration
@ImportResource("classpath:jpa-config.xml")
public class AppConfig {
...
}
答案 2 :(得分:2)
此答案现已过时。
目前还没有<jpa:repositories … />
的等价物。随意跟踪JIRA ticket。该功能将是即将发布的JPA模块(1.1)以及MongoDB(1.1)的GA版本的主要功能。
答案 3 :(得分:1)
我认为你应该看一下上下文:component-scan
<context:component-scan base-package="com.myProject"/>
它自动检测使用@ Repository / @ Service / @ Component注释的组件。请检查here。