2017-09-30 5 views
0

J'ai rencontré de nombreux tutoriels sur les fichiers de configuration pour les projets java SpringMVC et j'ai généralement la @Configuration à leur nom de classe, mais ils ne mentionnent jamais exactement où placer ces fichiers.Java SpringMVC où placer le fichier RepositoryRestMvcConfiguration (@Configuration)

Par exemple, j'ai appris que je pourrais être en mesure de modifier l'API de repos Spring Data Rest en étendant la configuration RepositoryRestMvcConfiguration.

1) Je veux être en mesure d'avoir des urls plus longues pour les dépôts, donc au lieu d'avoir des produits api/amazon, je pourrais avoir des produits api/amazon /. Apparemment c'est impossible. Je finis par avoir;

@RepositoryRestResource(collectionResourceRel = "amazonproducts", path = "amazonproducts") 
@CrossOrigin 
public interface AmazonProductRepository extends PagingAndSortingRepository<AmazonProduct, Long> { 

https://docs.spring.io/spring-data/rest/docs/current/api/org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.html

Tout ce que je dois faire est par exemple créer la classe comme;

class CustomRestMvcConfiguration extends RepositoryRestMvcConfiguration { 

    @Override 
    @Bean 
    public HateoasPageableHandlerMethodArgumentResolver pageableResolver() { 

    HateoasPageableHandlerMethodArgumentResolver resolver = super.pageableResolver(); 
    resolver.setOneIndexedParameters(true); 
    return resolver; 
    } 
} 

Je ne sais pas dans quel fichier/dossier placer ce code. J'utilise Eclipse Java EE Oxygen. J'ai créé un projet maven et je le teste actuellement sur spring-boot

+0

Veuillez fournir les raisons du vote s'il vous plaît. C'est une question simple d'où et comment. Un lien vers un tutoriel peut-être. – LogicDev

+1

Vous pouvez les placer où vous voulez réellement (en parlant de 100% java config)! Le printemps les trouvera. Je voudrais commencer par un exemple de travail minimal et lentement travailler votre chemin vers ce que vous voulez atteindre. Beaucoup d'exemples sur le net. – DPM

Répondre

3

Vous pouvez placer @Configuration classes annotées dans n'importe quel paquet que vous voulez, tant que le paquet est inclus dans le balayage des composants.

Au printemps de démarrage, que par défaut signifie dans le même package que la classe avec @SpringBootApplication ou toute subpackage de celui-ci, comme pour toutes les autres classes gérées par Spring.

À part cela, Spring ne se soucie pas des noms de paquets.