2016-09-16 4 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

класса и это API документацию для @SpringBootApplication

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

+0

Это отлично, отлично работает сейчас. Спасибо за вашу помощь! – anu11may

+0

welome..please принять его как ответ, нажав зеленую правую метку, которая будет помечена как ответный вопрос для любого, у кого будет такая же проблема. –

+0

http://stackoverflow.com/tour –