我有低于pom的。SpringBoot应用程序中的xml。在运行应用程序时,我没有遇到任何错误。但当我通过邮递员或浏览器点击URL时,控制器中的java代码不会被执行。
波姆。xml:
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>MENU-RIGHT</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
</properties>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</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-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
控制器:
package com.example.controller;
import java.util.logging.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.example.model.MenuRightModel;
import com.example.service.MenuRightService;
@RestController
public class MenuRightController {
Logger logger = Logger.getAnonymousLogger();
@Autowired
private MenuRightService menuRightService;
@RequestMapping(value = "/getRightByUser/{id}", method=RequestMethod.GET)
public MenuRightModel findRightByUser(@PathVariable("id") int id) {
logger.info("Request Received for User Id : "+id);
return menuRightService.findRightByUser(id);
}
@RequestMapping(value = "/getRightAll", method=RequestMethod.GET)
public MenuRightModel findAllRight() {
return new MenuRightModel();
}
}
项目执行截图:
Spring Boot应用程序类:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class })
@ComponentScan("src/main/java")
public class MenuRightApplication {
public static void main(String[] args) {
SpringApplication.run(MenuRightApplication.class, args);
}
}
Spring启动存储库类:
package com.dbs.repository;
import org.springframework.stereotype.Repository;
import com.example.model.MenuRightModel;
import org.springframework.data.jpa.repository.JpaRepository;
@Repository
public interface MenuRightRepository extends JpaRepository<MenuRightModel, Integer>{
MenuRightModel findByUserId(int id);
}
将BasePackage添加为com后。下面是一个例外情况:
2022-03-21 09:51:35.169WARN 20560 --- [ restartedMain]ConfigServletWebServerApplicationContext:在上下文初始化过程中遇到的异常-取消刷新尝试:org.springframework.beans.factory.未满足依赖异常:创建名为'menuRightController'的bean时出错:通过字段'menuRightService'表示的未满足依赖项;嵌套异常org.springframework.beans.factory.未满足依赖异常:创建名为'menuRightServiceImpl'的bean时出错:通过字段'menuRightRepository'表示的未满足依赖项;嵌套异常org.springframework.beans.factory.NoSuchBeanDefitionException:没有可用的'com.example.repository.MenuRightRepository'类型的合格bean:预计至少有1个符合自动装配候选资格的bean。依赖注释:{@org.springframework.beans.factory.annotation.Autowed(必需=true)}2022-03-21 09:51:35.172INFO 20560 --- [ restartedMain]o.apache.catalina.core.Standard ardService:停止服务[Tomcat]2022-03-21 09:51:35.189INFO 20560 --- [ restartedMain]条件评估报告LoggingListener:
启动ApplicationContext时出错。要显示条件报告,请在启用了'debug'的情况下重新运行您的应用程序。2022-03-21 09:51:35.312ERROR 20560 --- [ restartedMain]o. s. b. d. LoggingFailureAnalysis记者:
申请启动失败
描述:
com.example.service.impl.MenuRightServiceImpl中的字段menuRightRepository需要一个无法找到的'com.example.repository.MenuRightRepository'类型的bean。
注入点有以下注解:-@org.springframework.beans.factory.annotation.Autowed(必需=true)
行动:
考虑定义一个'com'类型的bean。实例存储库。配置中的“MenuRightRepository”。
您需要在组件扫描中添加一个包名称,在您的情况下,它是@ComponentScan("com.example.controller"),创建其他包的标准方式是在主根包下
我相信这是你的主要课堂配置问题。默认情况下,框架将扫描主类和子包所在包中的bean。e、 g.下面的方法不起作用
com/example/控制器/FooController.java
com/example/main/main类。JAVA
as应用程序将在com中扫描bean。实例仅限主包装及其子包装。
如果是这种情况,则需要更新@SpringBootApplication annotation的“scanBasePackages”属性。
嗨,我用spring初始化器创建了一个简单的Spring Boot应用程序。我在主应用程序类的同一文件夹中添加了一个控制器。 这是给我以下错误的网址http://localhost:8080/welcome 此应用程序没有针对/错误的显式映射,因此您将其视为回退。 Sat Dec 19 12:51:44 IST 2020出现意外错误(类型=未找到,状态=404)。 如果我使用@restContro
我正在尝试测试以下控制器: 下面是测试类: 当我运行测试失败,并给我以下消息: 当我测试的url正常工作。
我正在开发一个新的应用程序,它是和camel。我将RESTendpoint作为该应用程序的一部分公开。 null 你能帮我选择更好的方案吗?
我试图创建一个简单的REST服务与Spring Boot遵循本教程。webapp文件夹()中的“hello world”html文件正在上打开(我创建了一个Maven-Web-App,因为我希望有一个服务的“欢迎页面”)。但是,如果我试图访问上的REST服务,我会得到一条404消息。 UserController.java: 我错过了什么?服务的URL是否错误?我在某个地方读到Spring Boo
我想验证请求参数。我已经浏览了很多博客并回答了问题,我也做了同样的事情。在控制器类上添加了@Validated。 控制器中的方法: 控制器建议 配置: 完成所有这些之后,现在我得到一个404错误。"状态":404,"错误":"未找到","消息":"没有可用的消息"
我试图使用mockmvcbuilders.standalonesetup方法为一个spring mvc rest控制器创建一个非常基本的单元测试。我一直收到一个404错误。下面列出了测试应用程序上下文、测试类、控制器和整个堆栈跟踪。欢迎任何指导。 java.lang.AssertionError:状态应为:<200>但实际为:<404>在org.springframework.test.util.