XML配置
每个Spring Data模块都包含一个repository元素,通过这个元素开发者可以轻松的定义spring扫描包的路径。
Example 11.Enabling Spring Data repositories via XML
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">
<repositories base-package="com.acme.repositories" />
</beans:beans>
在上面的例子中,Spring扫描base-package中指定的路径及其包含的所有包,检测出继承Repository或者其子接口的接口。每找到一个接口,FactoryBean会创建对应的代理去处理查询方法的调用。每个注册的bean的名称都来自于接口名称,例如:UserRepository将会被注册为userRepository。base-package允许使用通配符来定义扫描路径。
使用过滤器
默认情况下,Spring会找到配置路径下的所有接口并为其创建一个bean实例。但有些情况下开发者可能想要更细致的控制创建bean实例的接口。这时候,可以在
下面的配置就是排除某些特定接口的例子:
Example 12. Using exclude-filter element(使用exclude-filter元素)
<repositories base-package="com.acme.repositories">
<context:exclude-filter type="regex" expression=".*SomeRepository" />
</repositories>
上面的配置排除了所有以SomeRepository结尾的接口。