我的项目目录结构如下所示
└── activity
├── app
│ └── ActivityApplication.kt
├── controller
│ └── WelcomeMessageController.kt
├── exception
│ ├── ActivityErrorResponse.kt
│ ├── handler
│ │ └── ActivityServiceExceptionHandler.kt
│ └── response
│ └── ResponseCode.kt
├── model
│ └── WelcomeMessage.kt
├── repository
│ └── WelcomeMessageRepository.kt
├── service
│ └── WelcomeService.kt
└── swagger
└── SwaggerConfig.kt
当我将ActivityApplication.kt
文件移动到根包,即直接位于Activity
swagger页面下时,该页面开始正常工作。但是,当我在包中移动它时(在本例中是app
),那么swagger页面不会显示任何内容,只会显示以下错误
@Configuration
@EnableSwagger2
class SwaggerConfig {
@Bean
fun api(): Docket {
return Docket(DocumentationType.SWAGGER_2)
.pathProvider(object: RelativePathProvider(null) {
override fun getApplicationBasePath(): String {
return "/activity"
}
})
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.activity.controller"))
.build()
.apiInfo(buildApiInfo())
}
private fun buildApiInfo(): ApiInfo? {
return ApiInfo(
...)
}
}
@SpringBootApplication
class ActivityApplication
fun main(args: Array<String>) {
runApplication<ActivityApplication>(*args)
}
Spring Boot试图在更深的包中找到它的组件。即。如果将@springbootapplication
放在activity.app.activityapplication
上,Spring Boot将只在activity.app
下搜索,而不会在任何其他包上搜索activity.swagger
。
如果您不想将ActivityApplication
移动到Activity
包,那么您需要在@springbootApplication
注释的scanBasePackages
参数中手动指定基本包:@springbootApplication(scanBasePackages=“activity”)
。
注意:它应该是完整的包,例如mycompany.myproject.activity
)。
我在Tomcat 9.0.2上使用Spring Boot 1.5.9,并且我尝试使用Spring@Cacheable调度缓存刷新作业,该作业在应用程序启动时运行并每24小时重复一次,如下所示: 缓存服务如下: 存储库代码: 稍后在我的webservice中,当尝试获取查找时,如下所示: 第一次调用它从数据库中获取查找,后续调用它从缓存中获取,而它应该在web服务的第一次调用中从缓存中获取? 为什么
我正在尝试使用简单的spring启动应用程序。我在ApplicationContext上启动应用程序时遇到问题。 2017-04-26 11:17:31.101警告14528---[main]s.c.a.AnnotationConfigApplicationContext:上下文初始化期间遇到异常-取消刷新尝试:org。springframework。豆。工厂未满足的PendencyExcepti
问题内容: 我正在使用Weblogic 10.3.6门户服务器。Weblogic 10.3.6始终使用weblogic随附的common-fileupload jar。但是我希望服务器使用战争中拥有的服务器。 用例是我有war1,它使用war2内的apache jars。我在两次大战的weblogic.xml中添加了以下几行,但它无法正常工作,并且仍在加载特定于weblogic的jar。 知道为什
我正在尝试在web应用程序中使用Freemarker进行电子邮件模板制作。 我声明了一个FreeMarkerConfiguration FactoryBean,如下所示: 运行我的JUnit时一切正常,但在我的webapp中运行时,我的bean被Spring启动FreeMarkerAutoConfiguration“覆盖”。 我已尝试: 从我的gradle文件中删除sping-boot-start
我不熟悉测微计和普罗米修斯,我只使用dropwizards的指标。这让我有点困扰,我实际上需要有3个不同的实例来运行以查看指标 带测微计的Spring靴应用程序本身 使用dropwizard,我可以立即公开聚合指标。 这就是为什么我很好奇是否有可能将Prometheus与我的Spring Boots应用程序一起启动以立即公开很好的聚合数据。到目前为止,我还没有找到任何有用的东西,所以我希望这里的某
我在intellij上启动spring boot应用程序时遇到问题,它失败了,并显示以下消息:与目标VM断开连接,地址:'127.0.0.1:49784',传输:'socket' 过程结束,退出代码为255。以前有人遇到过这种情况吗?