大佬教程收集整理的这篇文章主要介绍了在 Spring Boot 应用程序中创建名为“requestMappingHandlerAdapter”的 bean 时出错,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一个简单的测试项目中使用带有 Thymeleaf 的 Spring Boot 应用程序。我想在用户登录时显示一条消息,所以我想使用 sec:authorize="isAuthenticated()"。我创建了我的配置类(这对我来说是全新的),但出现错误
org.springframework.beans.factory.beanCreationException: Error creaTing bean with name 'requestMapPingHandlerAdapter' defined in class path resource [org/springframework/web/servlet/config/Annotation/DelegaTingWebMvcConfiguration.class]: Bean instantiation via factory method Failed; nested exception is org.springframework.beans.beanInstantiationException: Failed to instantiate [org.springframework.web.servlet.mvc.method.Annotation.requestMapPingHandlerAdapter]: Factory method 'requestMapPingHandlerAdapter' threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/security/web/method/Annotation/CurrentSecurityContextArgumentResolver
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactorymethod(ConstructorResolver.java:638) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.instantiateUsingFactorymethod(AbstractautowireCapablebeanfactory.java:1334) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.createBeanInstance(AbstractautowireCapablebeanfactory.java:1177) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.doCreateBean(AbstractautowireCapablebeanfactory.java:564) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.AbstractautowireCapablebeanfactory.createBean(AbstractautowireCapablebeanfactory.java:524) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.Abstractbeanfactory.lambda$doGetBean$0(Abstractbeanfactory.java:335) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.Abstractbeanfactory.doGetBean(Abstractbeanfactory.java:333) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.Abstractbeanfactory.getBean(Abstractbeanfactory.java:208) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.Defaultlistablebeanfactory.preInstantiateSingletons(Defaultlistablebeanfactory.java:944) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.context.support.AbstractApplicationContext.finishbeanfactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.8.jar:5.3.8]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.8.jar:5.3.8]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.5.1.jar:2.5.1]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-2.5.1.jar:2.5.1]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) ~[spring-boot-2.5.1.jar:2.5.1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:338) ~[spring-boot-2.5.1.jar:2.5.1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-2.5.1.jar:2.5.1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1332) ~[spring-boot-2.5.1.jar:2.5.1]
at com.teszt.thymeleaftest.ThymeleaftestApplication.main(ThymeleaftestApplication.java:10) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[na:na]
at java.base/jdk.internal.reflect.DelegaTingMethodAccessorImpl.invoke(DelegaTingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:567) ~[na:na]
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.5.1.jar:2.5.1]
Caused by: org.springframework.beans.beanInstantiationException: Failed to instantiate [org.springframework.web.servlet.mvc.method.Annotation.requestMapPingHandlerAdapter]: Factory method 'requestMapPingHandlerAdapter' threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/security/web/method/Annotation/CurrentSecurityContextArgumentResolver
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.8.jar:5.3.8]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.8.jar:5.3.8]
... 24 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/springframework/security/web/method/Annotation/CurrentSecurityContextArgumentResolver
at org.springframework.security.config.Annotation.web.configuration.WebMvcSecurityConfiguration.addArgumentResolvers(WebMvcSecurityConfiguration.java:61) ~[spring-security-config-5.5.0.jar:5.5.0]
at org.springframework.web.servlet.config.Annotation.WebMvcConfigurerComposite.addArgumentResolvers(WebMvcConfigurerComposite.java:123) ~[spring-webmvc-5.3.8.jar:5.3.8]
at org.springframework.web.servlet.config.Annotation.DelegaTingWebMvcConfiguration.addArgumentResolvers(DelegaTingWebMvcConfiguration.java:108) ~[spring-webmvc-5.3.8.jar:5.3.8]
at org.springframework.web.servlet.config.Annotation.WebMvcConfigurationSupport.getArgumentResolvers(WebMvcConfigurationSupport.java:812) ~[spring-webmvc-5.3.8.jar:5.3.8]
at org.springframework.web.servlet.config.Annotation.WebMvcConfigurationSupport.requestMapPingHandlerAdapter(WebMvcConfigurationSupport.java:675) ~[spring-webmvc-5.3.8.jar:5.3.8]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[na:na]
at java.base/jdk.internal.reflect.DelegaTingMethodAccessorImpl.invoke(DelegaTingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:567) ~[na:na]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.8.jar:5.3.8]
... 25 common frames omitted
Caused by: java.lang.classnotFoundException: org.springframework.security.web.method.Annotation.CurrentSecurityContextArgumentResolver
at java.base/jdk.internal.loader.builTinClassLoader.loadClass(BuilTinClassLoader.java:636) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182) ~[na:na]
at java.base/java.lang.classLoader.loadClass(ClassLoader.java:519) ~[na:na]
... 35 common frames omitted
现在我不确定应该在这里共享哪些文件,但这是我的 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/XMLscheR_169_11845@a-instance"
xsi:scheR_169_11845@aLOCATIOn="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupID>org.springframework.boot</groupID>
<artifactID>spring-boot-starter-parent</artifactID>
<version>2.5.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupID>com.teszt</groupID>
<artifactID>thymeleaftest</artifactID>
<version>0.0.1-SNAPSHOT</version>
<name>thymeleaftest</name>
<description>Demo project for Spring Boot</description>
<propertIEs>
<java.version>16</java.version>
</propertIEs>
<dependencIEs>
<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>
<optional>true</optional>
</dependency>
<dependency>
<groupID>MysqL</groupID>
<artifactID>mysql-connector-java</artifactID>
<scope>runtime</scope>
</dependency>
<dependency>
<groupID>org.projectlombok</groupID>
<artifactID>lombok</artifactID>
<optional>true</optional>
</dependency>
<dependency>
<groupID>org.springframework.boot</groupID>
<artifactID>spring-boot-starter-thymeleaf</artifactID>
<version>2.5.1</version>
</dependency>
<dependency>
<groupID>org.thymeleaf.extras</groupID>
<artifactID>thymeleaf-extras-springsecurity5</artifactID>
</dependency>
<dependency>
<groupID>org.springframework.security</groupID>
<artifactID>spring-security-web</artifactID>
<version>5.0.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupID>com.fasterxml.jackson.core</groupID>
<artifactID>jackson-databind</artifactID>
<version>2.12.3</version>
</dependency>
<dependency>
<groupID>org.springframework.boot</groupID>
<artifactID>spring-boot-starter-test</artifactID>
<scope>test</scope>
</dependency>
<dependency>
<groupID>org.springframework.security</groupID>
<artifactID>spring-security-config</artifactID>
<version>5.5.0</version>
</dependency>
</dependencIEs>
<build>
<plugins>
<plugin>
<groupID>org.springframework.boot</groupID>
<artifactID>spring-boot-maven-plugin</artifactID>
<configuration>
<excludes>
<exclude>
<groupID>org.projectlombok</groupID>
<artifactID>lombok</artifactID>
</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>
我的配置类:
package com.teszt.thymeleaftest.config;
import org.springframework.context.Annotation.Configuration;
import org.springframework.security.config.Annotation.web.builders.httpSecurity;
import org.springframework.security.config.Annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.web.servlet.config.Annotation.EnableWebMvc;
@Configuration
@EnableWebMvc
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@OverrIDe
protected voID configure(httpSecurity http) throws Exception {
http
.authorizerequests()
.antMatchers("/").permitAll()
.and()
.formLogin()
.loginPage("/login")
.loginProcessingUrl("/logIn")
.permitAll()
.and()
.csrf().disable();
}
}
这是我的 HTML 页面:
<!DOCTYPE HTML>
<HTML lang="en" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5">
<head>
<!-- required Meta Tags -->
<Meta charset="utf-8">
<Meta name="vIEwport" content="wIDth=device-wIDth,initial-scale=1">
<!-- bootstrap CSS -->
<link href="https://cdn.Jsdelivr.net/npm/bootstrap@5.0.1/dist/CSS/bootstrap.min.CSS" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOol7+AMvyTG2x" crossorigin="anonymous">
<title>Main Page</title>
</head>
<body>
<a th:href="@{/users/showUserForm}">Click here</a> to go to the User Registration page
<br>
<a th:href="@{/users/List}">Click here</a> to go to the Users List page
<br>
<a th:href="@{/login/signUp}">Click here</a> to go to the sign up page
<br>
<a th:href="@{/login/members-List}">Click here</a> to see the List of the members
<br>
<span sec:authorize="isAuthenticated()">You are logged in</span>
</body>
</HTML>
希望有人能帮助我。
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的在 Spring Boot 应用程序中创建名为“requestMappingHandlerAdapter”的 bean 时出错全部内容,希望文章能够帮你解决在 Spring Boot 应用程序中创建名为“requestMappingHandlerAdapter”的 bean 时出错所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。