2016-09-16 27 views
0

我是Spring的新手,希望在Spring引導應用程序中使用以下項目結構。不同包中的彈簧數據實體

  1. 針對每種類型的實體及其相應的存儲庫實現的不同包。
  2. 一個包庫配置

*

**com.demo.Customer** 
    Customer.java 
    CustomerRepository.java 
    Application.java 

**com.demo.Order** 
    Order.java 
    OrderRepository.java 

**com.demo.config** 
    ApplicationConfig.java 
    CustomerConfig.java 
    OrderConfig.java 

CustomerConfig.java

import com.demo.cstore.core.Customer; 
@Configuration 
@EnableJpaRepositories(basePackageClasses = Customer.class) 
public class CustomerConfiguration { 

} 

Application.java

@SpringBootApplication 
@ComponentScan(basePackages = {"com.demo.order"}) //inject repository from other packages 
public class Application { 
    private static final Logger log = LoggerFactory.getLogger(Application.class); 

    public static void main(String[] args) { 
     SpringApplication.run(Application.class); 
    } 

編譯並運行應用程序後,僅創建客戶實體。是因爲應用程序文件只是識別客戶實體,因爲它存在於相同的包中com.demo.Customer。訂單實體如何注入並創建實體?

回答

0

EnableJpaRepositories註解接受字符串basePackages數組在這裏您可以添加您的實體全包:

@EnableJpaRepositories(basePackages={"com.demo.order" 
,"com.demo.customer" 
,"com.demo.config"}) 

那一定是不夠的。希望這可以幫助。

1

你不需要使用@ComponentScan。 根據文檔

的@SpringBootApplication註釋等同採用 @Configuration,@EnableAutoConfiguration和@ComponentScan他們 默認屬性

,所以你可以只使用@SpringBootApplication在您的主要這個類位於你的包層次結構的基本包中,你會沒事的。

你也可以參考以下鏈接瞭解如何構建代碼和主類的位置

http://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-structuring-your-code.html

@SpringBootApplication

https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/SpringBootApplication.html

+0

這個API文檔這非常好,現在完美。謝謝你的幫助! – anu11may

+0

welome..please接受它作爲答案,通過點擊綠色的右側標記將被標記爲回答問題的任何人誰會有同樣的問題。 –

+0

http://stackoverflow.com/tour –

相關問題