Java SpringMVC 放置 RepositoryRestMvcConfiguration (@Configuration) 文件的位置

Java SpringMVC where to place the RepositoryRestMvcConfiguration (@Configuration) file

我看过很多关于 java SpringMVC 项目的配置文件的教程,通常在它们的 class 名称中有 @Configuration,但他们从来没有提到确切的位置这些文件。

例如,我了解到我可以通过扩展 RepositoryRestMvcConfiguration 来更改 Spring Data Rest rest api。

1) 我希望能够为存储库提供更长的 url,所以我可以使用 api/amazon/products 而不是 api/amazonproducts。显然这是不可能的。我最终得到了;

@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

我所要做的就是创建 class 赞;

class CustomRestMvcConfiguration extends RepositoryRestMvcConfiguration {

  @Override
  @Bean
  public HateoasPageableHandlerMethodArgumentResolver pageableResolver() {

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

我不知道 file/folder 把这段代码放在哪里。我正在使用 Eclipse Java EE 氧气。我创建了一个 Maven 项目,目前正在 spring-boot

上测试它

您可以将 @Configuration 带注释的 classes 放在您想要的任何包中,只要该包包含在组件扫描中即可。

在 Spring 引导中,默认情况下意味着与 class 和 @SpringBootApplication 任何子包 在同一个包中,与 Spring.

管理的所有其他 classes 相同

除此之外,Spring 不关心包名称。