当前位置: 首页 > 面试题库 >

其他包中的@RestController不起作用

娄丁雨
2023-03-14
问题内容

我从学习Spring开始,我创建了一个基本项目,该项目创建数据库,插入值,然后在Web浏览器中打印它。我的问题是,当我将RestController和主类放在同一个包中时-
可以,但是我想将其分发到其他包中,而当我创建新包时,移动RestController则不起作用。让我们见面解释:

我的项目看起来像:

          |-Springtestv_01
            |-src/main/java
              |--com.person <-- it's a main package
                 |-Main.java
                 |-Person.java
                 |-PersonLineRunner.java
                 |-PersonRepository.java
                 |-PersonController.java
              |-com.controller <-- second package, I want put here PersonController.java
            |-src/main/resources
              |-data.sql
            pom.xml

我的控制器看起来:

@RestController
public class PersonController {

    @Autowired PersonRepository personRepository;

    @RequestMapping("/persons")
    Collection<Person> persons(){
        return this.personRepository.findAll();
    }
}

当一切都在com.person包,我写的网络浏览器的http://本地主机:8080
/人
,它正常工作......但我想移动PersonController.javacom.controller包,当我把它,我webbrowers打电话给我

发生意外错误(类型=未找到,状态= 404)。无可用讯息

而且我不知道该怎么办。也许我应该改变我的东西pom.xml

我的pom.xml看起来像

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.person</groupId>
    <artifactId>person</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>SpringTest_v0_1</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.0.BUILD-SNAPSHOT</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.h2database</groupId><artifactId>h2</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>
                spring-boot-starter-data-elasticsearch
            </artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <name>Spring Snapshots</name>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>

</project>

它是自动生成的,我只写了一个依赖项

    <dependency>
        <groupId>com.h2database</groupId><artifactId>h2</artifactId>
    </dependency>

问题答案:

使用basePackages:

@ComponentScan(basePackages = { "com.person","com.controller"} )


 类似资料:
  • 我从学习Spring开始,创建基本项目,创建数据库,插入值,然后在web浏览器中打印。我的问题是,当我把RestController放在同一个包中,就像main class一样--这是可以的,但是我想把它分发到其他包中,并且当我创建新包时,移动RestController就不起作用了。让met解释: 我的项目看起来像: 我的pom.xml看起来像 它是自动生成的,我只写一个依赖项

  • 我的问题是,在我的项目中添加了味道后,包名称与实际源不同的味道似乎在访问中的文件时遇到了问题。 更具体地说,我有一个调用以下图像的html视图。 该图像显示在production flavor中,其包名与java文件的目录相同,但不适用于beta flavor: 其中包含java文件的实际目录是 这很奇怪,因为资源甚至不在该文件夹中。

  • 问题内容: 我有一个选择查询,我试图在字符串中搜索多个模式 返回零结果 然而 返回结果并 返回结果 是否可以将我所有的结果合并为一个查询?如果一个字符串匹配两者,它将如何处理? 问题答案: 如果可以的话,这会很好,但是您不能在SQL中使用该语法。 试试这个: 注意使用括号!您需要在表达式周围使用它们。 如果没有括号,它将被解析为,不会为您带来预期的结果。

  • 我是一个新手,在编程和工作的AVL树ATM的实现。我遇到了很多问题,在其中的一个问题上请求帮助,也许在那之后我也能解决其他的问题,因为它们听起来都很相似。 我有以下功能打印目录树: 这似乎是大错特错的。我收到以下警告: 我有好几个像这样的错误/警告/注意事项。我想简单理解这个问题有一个很大的问题:当我有一个函数,比如上面发布的in_order_walk,这个函数没有得到一个节点,而是得到了整个树。

  • 我已经设置了一个包含3列的css网格来显示我们的投资组合。我找到了一个Firefox、Internet Explorer和Safari的工作代码。但是在Chrome上,它并没有显示我的网格,所有的图片都在下面。见网址:http://www.ddw-sanitair.be 此外,它不接受“display:none”类的一些图片,因此双/三图像... 有什么建议吗? 我尝试添加网格自动行:270px;

  • 如果ArrayList中还没有,我希望将添加到ArrayList中,但由于某些原因,它无法工作。在本例中,arrlist是,arr是。此代码位于for循环中,其中arr在循环中定义,因此arr中的值会更改。即使我打印出arrlist并且它有arr,代码总是说arrlist不包含arr。是否有其他方法可以检查ArrayList是否包含?