首页 > 其他分享 >springboot项目启动会报4个加载不到的debug提示,可改可不改

springboot项目启动会报4个加载不到的debug提示,可改可不改

时间:2024-05-13 17:40:59浏览次数:23  
标签:web springboot 会报 ThemeResolver springframework Bean 可改 org servlet

1. 因为启动的时候会报提示: Unable to locate LocaleResolver with name 'localeResolver': using default [org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver@17162122]
   有4个这样的--Resolver,(具体每个Resolver在下面注释有说明)要想不报这个加载提示,如果用不到这4个组件,考虑禁用: 即返回一个空组件

解决办法:

2, 新建一个配置类:

package com.aswatson.cdc.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ThemeResolver;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver;

/**
 * 因为启动的时候会报提示: Unable to locate LocaleResolver with name 'localeResolver': using default [org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver@17162122]
 * 有4个这样的--Resolver,要想不报这个加载提示,如果用不到这4个组件,考虑禁用: 即返回一个空组件
 */
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    /**
     * LocaleResolver:用于解析客户端请求的 Locale(区域设置)信息,以便应用程序可以根据用户的地区设置提供相应的国际化支持。
     * 在这里,日志显示未能找到名为 'localeResolver' 的 LocaleResolver Bean,因此默认地使用了 AcceptHeaderLocaleResolver。

     * ThemeResolver:用于解析主题(Theme)信息,以便应用程序可以根据用户的主题偏好来渲染页面。
     * 日志显示未能找到名为 'themeResolver' 的 ThemeResolver Bean,因此默认地使用了 FixedThemeResolver。

     * RequestToViewNameTranslator:用于根据请求信息确定视图的名称。日志显示未能找到名为 'viewNameTranslator' 的 RequestToViewNameTranslator Bean,
     * 因此默认地使用了 DefaultRequestToViewNameTranslator。

     * FlashMapManager:用于管理 FlashMap,它是一种用于在请求之间传递数据的机制。日志显示未能找到名为 'flashMapManager' 的 FlashMapManager Bean,
     * 因此默认地使用了 SessionFlashMapManager。
     */
    // 禁用 LocaleResolver
    @Bean
    public AcceptHeaderLocaleResolver localeResolver() {
        // 返回一个空的AcceptHeaderLocaleResolver,该解析器将不会做任何事情,因此LocaleResolver将被禁用
        return new AcceptHeaderLocaleResolver();
    }

    // 禁用 ThemeResolver
    @Bean
    public ThemeResolver themeResolver() {
        // 返回一个空的ThemeResolver,该解析器将不会做任何事情,因此ThemeResolver将被禁用
        return new ThemeResolver() {
            @Override
            public String resolveThemeName(javax.servlet.http.HttpServletRequest request) {
                return null;
            }
            @Override
            public void setThemeName(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, String themeName) {
                // Do nothing
            }
        };
    }

    // 禁用 RequestToViewNameTranslator
    @Bean
    public org.springframework.web.servlet.RequestToViewNameTranslator viewNameTranslator() {
        // 返回一个空的RequestToViewNameTranslator,该翻译器将不会做任何事情,因此RequestToViewNameTranslator将被禁用
        return request -> null;
    }

    // 禁用 FlashMapManager
    @Bean
    public org.springframework.web.servlet.FlashMapManager flashMapManager() {
        // 返回一个空的FlashMapManager,该管理器将不会做任何事情,因此FlashMapManager将被禁用
        return new org.springframework.web.servlet.support.SessionFlashMapManager();
    }

}

 3, 结果:

标签:web,springboot,会报,ThemeResolver,springframework,Bean,可改,org,servlet
From: https://www.cnblogs.com/lgg20/p/18189688

相关文章

  • 创建启动springboot项目的一些问题,如spring-boot-autoconfigure 自动加载注入配置
    1.springboot项目启动是否只需要3下面3个jar包<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.b......
  • springboot内嵌tomcat的实现原理
    目录一、tomcat运行原理的简单分析1.1Coyote1.2容器catalina二、用编码的方式启动tomcat一、tomcat运行原理的简单分析tomcat运行时可以简单分成两个大的模块,(1)负责处理socket连接并转换成request对象的部分,连接器Coyote(2)处理用户的请求的容器Catalina下面简单介绍......
  • Springboot自动配置原理
    在SpringBoot项目中的引导类上有一个注解@SpringBootApplication,这个注解是对三个注解进行了封装,分别是:@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan其中@EnableAutoConfiguration是实现自动化配置的核心注解。该注解通过@Import注解导入对应的配......
  • SpringBoot速记
    本篇以SpringBoot快速构建一个基础项目,在构建的同时记录相关的知识。常见的架构图: 其中,config中可以引入第三方的jar包controller中存放控制类一个简单的例子如下: mapper中存放对数据库的操作接口 pojo中是实体对象类,常与数据表对应 service中存放服务类:......
  • SpringBoot3集成WebSocket
    标签:WebSocket,Session,Postman。一、简介WebSocket通过一个TCP连接在客户端和服务器之间建立一个全双工、双向的通信通道,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据,在WebSocket的API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创......
  • springboot的链路日志
    1.背景在开发银行项目的时候有一个生成项目链路日志的需求。所谓的链路日志就是一个请求会经过多个项目的接口调用,它把这个请求内调用到的所有请求通过全局id串起来,通过全局id可以把所有涉及到的系统日志都快速的定位出来,方便线上出现问题时去排查问题。2.实现......
  • springboot使用log4j监控日志发送邮件
    实现log4j发送邮件功能大致流程:1、开启邮箱SMTP服务,获取SMTP登录密码2、引入javax.mail、javax.activation依赖3、配置log4j文件,指定邮件发送方和接收方以及发送方账号密码等4、重写SMTPAppender(不重写也能实现邮件发送功能)开启邮箱SMTP服务这里以qq邮......
  • springboot项目服务器访问速度慢-可能的解决方法
    springboot项目部署在服务器后,访问很慢或无法访问问题使用宝塔界面,尝试将打包后的jar包部署在服务器上运行时,发现访问速度不是很快,或者是直接访问不到。访问不到对应端口的springboot服务80端口也无法访问首次访问加载慢的解决方法修改jre文件找到安装的jre目......
  • Springboot Data Jdbc中Contains和Containing的用法
    Contains和Containing的用法privateStringtitle;privateList<String>tags;//查询标题包含指定字符串的书籍List<Book>findByTitleContains(Stringtitle);//查询包含指定标签的书籍List<Book>findByTagsContaining(Stringtag);--查询标题包含"Spring"的书......
  • SpringBoot整合Mybatis时mapper文件和xml文件的位置
    xml文件放在resources下看下我的项目目录2.由于放在resurces下就无法扫描到xml文件,所以就需要在配置文件配置--mapper文件位置mybatis.mapper-locations=classpath:mapper/*.xml或mybatis.mapper-locations=classpath:/mapper/*.xmlxml和mapper文件放在一起我的项目......