Java Spring 项目结构 - 未检测到控制器

Posted

技术标签:

【中文标题】Java Spring 项目结构 - 未检测到控制器【英文标题】:Java Spring project structure - controllers aren't detected 【发布时间】:2017-03-18 18:07:39 【问题描述】:

我的 Java Spring 项目结构遇到问题。

我遵循了 spring.io 的这三个指南,并使用 intellij 2016.3.3 作为 ide。

https://spring.io/guides/gs/serving-web-content/

https://spring.io/guides/gs/rest-service/

https://spring.io/guides/gs/securing-web/

这是一个 Spring Boot 应用程序,我在类中使用注释。

当我的所有课程都在同一个包中时 - 一切正常,但这很丑:

com.appserver
    - MvcConfiguration.java
    - WebSecurityConfiguration.java
    - GreetingController.java
    - LoginController.java
    - Greeting.java
    - Application.java (main classe)

我可以在 java spring 日志中看到它。

但是当我开始使用另一种结构时:

com.appserver
    - Application.java (main classe)
    config
         - MvcConfiguration.java
         - WebSecurityConfiguration.java
    controller
         - GreetingController.java
         - LoginController.java
    domain
         - Greeting.java

它不起作用。未检测到安全配置和控制器。

我尝试使用@ComponentScan(basePackages="com.appserver"),但我完全不确定我必须做什么。

【问题讨论】:

任何异常 404 ?或者到底发生了什么? 没有例外,所有配置都被忽略了。我只得到一个基本的身份验证窗口。 什么是基本切入点?这是一个 Spring Boot 应用程序吗?如果不是,应用程序如何注释? 是的,这是一个 Spring Boot 应用程序,应用程序使用类中的 java 注释 在你的控制器类中添加@RestController注解 【参考方案1】:

根据存储库,截至目前,src/main/java 中没有包 com.appserver。一种选择可能是将您的来源移至src/main/java/com/appserver

【讨论】:

以上是关于Java Spring 项目结构 - 未检测到控制器的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 单元测试未检测到自动装配组件的模块

“检测到未注册的 Git 根目录”,因为项目的父目录由 Git 版本控制

Java UCanAccess 未检测到所有项目

Django迁移更改目录结构后未检测到更改

在 js 文件中未检测到 Django url 模式

Thymeleaf 无法检测到 spring-boot 项目中的模板