【问题标题】:Java SpringMVC where to place the RepositoryRestMvcConfiguration (@Configuration) fileJava SpringMVC 放置 RepositoryRestMvcConfiguration (@Configuration) 文件的位置
【发布时间】:2017-09-30 13:31:43
【问题描述】:

我遇到过很多关于 java SpringMVC 项目的配置文件的教程,并且通常在它们的类名中有 @Configuration,但他们从未提及这些文件的确切放置位置。

例如,我了解到我可以通过扩展 RepositoryRestMvcConfiguration 来更改 Spring Data 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 CustomRestMvcConfiguration extends RepositoryRestMvcConfiguration {

  @Override
  @Bean
  public HateoasPageableHandlerMethodArgumentResolver pageableResolver() {

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

我不知道将此代码放在哪个文件/文件夹中。我正在使用 Eclipse Java EE Oxygen。我创建了一个 maven 项目,目前正在 spring-boot 上对其进行测试

【问题讨论】:

  • 请提供否决的理由。这是一个关于地点和方式的简单问题。可能是教程的链接。
  • 你可以把它们放在你想要的任何地方(谈论 100% java config)!春天会找到他们的。我将从一个最小的工作示例开始,然后慢慢地按照您想要实现的方式工作。网上有很多例子。

标签: java spring rest spring-mvc spring-rest


【解决方案1】:

你可以将@Configuration注解的类放在你想要的任何包中,只要包包含在组件扫描中。

在 Spring Boot 中,默认情况下,这意味着与带有 @SpringBootApplication 的类或其任何子包位于同一包中,与 Spring 管理的所有其他类相同。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    • 2017-10-23
    相关资源
    最近更新 更多