程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在 Spring Boot 应用程序中创建名为“requestMappingHandlerAdapter”的 bean 时出错大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在 Spring Boot 应用程序中创建名为“requestMappingHandlerAdapter”的 bean 时出错?

开发过程中遇到在 Spring Boot 应用程序中创建名为“requestMappingHandlerAdapter”的 bean 时出错的问题如何解决?下面主要结合日常开发的经验,给出你关于在 Spring Boot 应用程序中创建名为“requestMappingHandlerAdapter”的 bean 时出错的解决方法建议,希望对你解决在 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,请注明来意。