我遇到过很多关于 java SpringMVC 项目配置文件的教程,并且通常在其类名中包含 @Configuration,但他们从未提到这些文件的具体放置位置。
例如,我了解到我可以通过扩展 RepositoryRestMvcConfiguration 来更改 Spring Data Rest Rest api。
1) 我希望能够拥有更长的存储库网址,这样我就可以拥有 api/amazon/products,而不是 api/amazonproducts。显然这是不可能的。我最终得到了;
@RepositoryRestResource(collectionResourceRel = "amazonproducts", path = "amazonproducts")
@CrossOrigin
public interface AmazonProductRepository extends PagingAndSortingRepository<AmazonProduct, Long> {
我所要做的就是创建类似的类;
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 上测试它
最佳答案
您可以将 @Configuration
注解的类放置在您想要的任何包中,只要该包包含在组件扫描中即可。
在 Spring Boot 中,默认情况下意味着与 @SpringBootApplication
的类位于同一包中或其任何子包,与 Spring 管理的所有其他类相同。
除此之外,Spring 不关心包名称。
关于Java SpringMVC 在哪里放置 RepositoryRestMvcConfiguration (@Configuration) 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46503206/