- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
Spring 的 @ComponentScan 提供了一个类型安全的 basePackageClasses
属性 - 使用起来似乎是一件好事,特别是因为在我正在处理的项目中重命名包的情况并不少见。文档说:
Consider creating a special no-op marker class or interface in each package that serves no purpose other than being referenced by this attribute.
...但没有提供关于此类名称的进一步指导。我想知道这方面是否有任何约定。 package-info.java
已经存在于所有包中(由 Checkstyle 强制执行) - 本来希望重用它,但遗憾的是 Java 不允许使用此名称的类。
(如果不存在这样的标准,我可能会考虑 PackageInfo
、BasePackage
、PackageMarker
或类似标准,但如果有的话,更愿意遵循约定.)
最佳答案
还没有答案,必须做出决定,所以这里是:
标记类:
package com.companyname.appname.projectname.package1name;
/**
* Empty marker class used to identify this package when using type-safe basePackageClasses in Spring @ComponentScan.
*/
public class PackageMarker {
// Empty marker class
}
用法:
@ComponentScan(basePackageClasses = {
com.companyname.appname.projectname.package1name.PackageMarker.class,
com.companyname.appname.projectname.package2name.PackageMarker.class,
/* ...etc... */
})
PackageMarker
命名理由:
如果有人能给出在更具开创性的上下文中使用的标记类示例,我仍然会感兴趣...
关于java - @ComponentScan basePackageClasses 有命名约定吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27254556/
我看到我们有 @org.springframework.context.annotation.ComponentScans 和 @org.springframework.context.annotat
我想向我的 Spring WebApplicationContext 添加一个特定的 Controller 类。我遇到了以下示例:(它是 Scala 中的,但改编自此处: using Componen
场景复现 为了统一定制一个过滤器(Filter),所以在另外一个工程里面创建了一个过滤器,并通过jar包的方法导入当前项目,通过@ComponentScan({"org.example.
我为我的 Spring Application Context 进行了以下设置. @Configuration public class RmiContext { @Bean public R
我正在使用注释设置一个非常小的带有 Boot 的 Spring/REST/JPA 项目。 当我将 JPA 存储库类移到不同的包并在其包上调用 componentscan 时,我在具有 Autowire
我正在使用 Java 11 和 Spring 开发 JavaFX 应用程序。应用程序模块使用 jlink 与自定义 JRE 捆绑在一起,它只允许命名模块包含在 bundle 中。由于 Spring 不
我想找到以编程方式设置“@componentScan”的“basepackages”的方法。 我有这样的东西: @Configuration @EnableWebMvc @ComponentScan(
在我的 Spring Boot 项目中,我必须使用一个外部库,它在 Spring 上下文中定义了 beans。因此,在我的应用程序类中,我在下面添加了我的项目和外部库的基础包, @SpringBoot
@ComponentScan( //CS1 basePackages = {"com.package.A", "com.package.B"}, excludeFilters = @
@ComponentScan 将为您提供包中所有带有 @Component 注释的类的列表(或 @Service/@Repository).为此,我想他们使用反射来枚举包中的所有类并找到带有该注释的类
我的课上有以下 spring header @Service @EnableAutoConfiguration(exclude = {HibernateJpaAutoConfiguration.cla
我对 Spring 比较陌生,并且正在学习一些示例。 在其中一个示例中,我注意到 Spring 没有将 URI 映射到方法。 我发现我将 @ComponentScan 注释放在错误的配置类上并解决了我
我正在关注有关 Spring MVC 的教程,但我无法理解 @ComponentScan 的某些内容即使在阅读了 spring API 文档之后也可以进行注释,所以这里是示例代码: 配置 View C
我不知道如何在测试中排除配置(例如 described here )。我真正想要的是忽略 @WebMvcTest 中的配置,但即使下面的更简单的示例对我来说也不起作用: @ExtendWith(Spr
我有包裹一: xxx.yyy.zzz { SampleClass1.java } 和包二: xxx.yyy.zzz { SampleClass2.java } 并打包三个: aaa.bbb.ccc
“context:componentscan”可以扫描自定义注释吗?如果是这样,扫描后它会将扫描的 bean 存储在应用程序上下文中的什么位置?我如何访问结果? 最佳答案 我们在 XML 配置文件中注
我遇到了 @ComponentScan @Configuration 的问题测试类——即 @ComponentScan无意中拉入 @Configuration在集成测试期间。 例如,假设您在 src/
我有带有包布局的 spring boot 应用程序示例: main: -com.foo Application.java -com.foo.services Item
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它. 关闭 7 年前。 Improve
我想在 Spring 中从基于 XML 的配置切换到基于 Java 的配置。现在我们的应用程序上下文中有这样的东西: 但是如果我写这样的东西...... @ComponentScan
我是一名优秀的程序员,十分优秀!