2011-12-22 35 views
13

Tôi đang cố gắng sử dụng dữ liệu mùa xuân và cấu hình mùa xuân cùng nhau trong một ứng dụng độc lập nhỏ.Quét các kho dữ liệu Spring bằng Spring Config?

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

1. Câu hỏi của tôi là làm thế nào tôi có thể khám phá các kho dữ liệu mùa xuân mà không sử dụng

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

bởi cấu hình mùa xuân?

2. Nếu không, tôi có thể sử dụng 'ClassPathXmlApplicationContext' và 'AnnotationConfigApplicationContext' cùng nhau bằng cách nào đó không?

Trả lời

2

Câu trả lời này hiện đã lỗi thời.

Hiện tại không có tương đương với <jpa:repositories … />. Cảm thấy miễn phí tor theo dõi theo JIRA ticket. Tính năng này sẽ là một tính năng chính cho bản phát hành GA sắp tới của mô-đun JPA (1.1) cũng như MongoDB (1.1).

+0

Cảm ơn bạn đã trả lời nhanh. – cscsaba

1

Tôi nghĩ bạn nên có một cái nhìn tại bối cảnh: thành phần quét

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

Nó tự động dò tìm các thành phần chú thích với @ Repository/@ Dịch vụ/@ Component. Kiểm tra here cho việc này.

+0

Sử dụng chú thích @Repository vào 'public interface Repository ' giao diện thuộc về dữ liệu mùa xuân bối cảnh. Dù sao nhờ sự giúp đỡ và thời gian của bạn. – cscsaba

4

Để hiểu đầy đủ và giải quyết câu hỏi thứ hai của bạn: Có, bạn có thể kết hợp các cấu hình Java và XML. Bằng cách này bạn không phải đợi bản phát hành JPA Spring Data tiếp theo.

Chỉ cần chú thích lớp cấu hình của bạn với ImportResource, như thế này:

@Configuration 
@ImportResource("classpath:jpa-config.xml") 
public class AppConfig { 
    ... 
} 
52

Bây giờ bạn có thể sử dụng chú thích @EnableJpaRepositories("some.root.package").

Ví dụ:

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

(Spring Data's announcement)

+0

Đây là câu trả lời đúng. Cảm ơn đã giúp đỡ! – cspin

Các vấn đề liên quan