Aprendizaje de Java --- Colección de errores comunes en SpringBoot [Actualización continua]

1. El problema de ejecución del proyecto clonado

1.1.problema del complemento de dependencia de maven

Inserte la descripción de la imagen aquí


1.2. Prompt No se puede iniciar el compilador

! [Inserte la descripción de la imagen aquí] (https://img-blog.csdnimg.cn/20210116231831836.png

Razón: falta el directorio




2. Problemas de inicio y funcionamiento del proyecto Spring Boot

2. Error de compilación de código (compilación durante la inyección de dependencia)Inserte la descripción de la imagen aquí


2.2. Clase de inicio no encontradaInserte la descripción de la imagen aquí


2.3. Múltiples problemas de inicioInserte la descripción de la imagen aquí


2.4. Excepción de puntero nulo en tiempo de ejecuciónInserte la descripción de la imagen aquí


2.5. No se puede encontrar el objeto Bean correspondienteInserte la descripción de la imagen aquí


2.6. Excepción de inyección de dependenciaInserte la descripción de la imagen aquí


2.7. Definición del método de prueba de prueba unitariaInserte la descripción de la imagen aquí


2.8. La definición de Bean no único es anormalInserte la descripción de la imagen aquí




3. Problema de conexión a la base de datos en el proyecto SpringBoot

3.1. La URL no está configurada o configurada incorrectamenteInserte la descripción de la imagen aquí


3.2. Comunicación anormal al establecer una conexión URLInserte la descripción de la imagen aquí


3.3. Rechazado al acceder a la base de datos

Inserte la descripción de la imagen aquí




4. Problema de integración de MyBatis en el proyecto SpringBoot

4.1. Mapeo SQL no encontradoInserte la descripción de la imagen aquí


4.2. El atributo descrito por Autowired tiene un mensaje de error

Inserte la descripción de la imagen aquí


4.3. BindingException BindingException

Inserte la descripción de la imagen aquí




5. Problema de solicitud web en el proyecto SpringBoot

5.1. El servicio no se inició correctamente o el puerto de acceso es incorrectoInserte la descripción de la imagen aquí


5.2. Análisis del problema del puerto ocupado cuando se inicia el servicio

Inserte la descripción de la imagen aquí


5.3. Solicitar análisis de problemas y soluciones 404

Inserte la descripción de la imagen aquí


5.4. La plantilla Thymeleaf no existe excepción

Inserte la descripción de la imagen aquí


5.5. Análisis anormal de conversión de datos JSON

Inserte la descripción de la imagen aquí


5.6.400 análisis de excepción de solicitudInserte la descripción de la imagen aquí


5.7.405 Solicitar análisis de excepciónInserte la descripción de la imagen aquí


6. Excepciones en Ajax

6.1 Excepción de actualización simultánea

Inserte la descripción de la imagen aquí

6.2 No hay respuesta después de que se desencadena el evento

Inserte la descripción de la imagen aquí

6.3 Problema de acceso a la propiedad del objetoInserte la descripción de la imagen aquí

6.4 Problemas de acceso entre dominiosInserte la descripción de la imagen aquí

6.5 La función de acceso no existeInserte la descripción de la imagen aquí

6.6 Problema de comprensión de la función de devolución de llamadaInserte la descripción de la imagen aquí

6.7 Problema de excepción de solicitud 415Inserte la descripción de la imagen aquí

6.8 No hay problema con los iconos pequeñosInserte la descripción de la imagen aquí

7. Error en JS / JQuery / Ajax

7.1 No se puede recibir el valor de retorno de ajax

Inserte la descripción de la imagen aquí

    //页面加载完成异步加载当前页数据
    function doGetObjects() {
    
    
        var id = getCurrentUserData();
        console.log("当前用户id=" + id);
        let url = `user/doFindUserInfo/${
      
      id}`;
        $.ajax({
    
    
            url,
            success(result) {
    
    
                doHandleResponseResult(result);
            }
        });
    }

    function getCurrentUserData() {
    
    
        var id ;
        $.ajax({
    
    
            url: "user/doFindCurrentUserId",
            async: false,
            success: function (result) {
    
    
                id = result;
            }
        })
        return id;
    }

8. Problemas en shiro

8.1 SecurityUtils.getSubject (). GetPrincipal () 为 null

Solución: Solo SecurityUtils.getSubject (). GetPrincipal () obtenido bajo la clase User y UserController / UserService es el objeto de usuario. En otros métodos, el valor no está disponible (valor nulo), por lo que uno nuevo en SysUserServiceImpl HashMap encapsula y devuelve información del objeto y luego llama a este método desde otras ubicaciones.

 @Override
    public HashMap<String, Object> getCurrentUserData() {
    
    
        SysUser user = (SysUser) SecurityUtils.getSubject().getPrincipal();
        HashMap<String, Object> map = new HashMap<>();
        map.put("id", user.getId());
        map.put("username", user.getUsername());
        map.put("password", user.getPassword());
        map.put("salt", user.getSalt());
        map.put("sex", user.getSex());
        map.put("email", user.getEmail());
        map.put("mobile", user.getMobile());
        map.put("valid", user.getValid());
        map.put("createdTime", user.getCreatedTime());
        map.put("modifieTime", user.getModifiedTime());
        map.put("createdUser", user.getCreatedUser());
        map.put("birthday", user.getBirthday());
        return map;
    }

Luego, la otra capa de servicio puede llamar a este método para realizar el negocio.

@Override
    public int reserveSeat(SysSeat entity) {
    
    
        HashMap<String, Object> userMap = sysUserService.getCurrentUserData();
        entity.setUsedUser((String) userMap.get("username"));
        entity.setState(2);
        return sysSeatDao.reserveSeat(entity);
    }

Inserte la descripción de la imagen aquí
Hora de aparición: 2021/2/9 11:50 Después de que el asiento se haya reservado con éxito en el sistema de administración de asientos de la biblioteca, el nombre de usuario del usuario reservado se muestra como la lista

Supongo que te gusta

Origin blog.csdn.net/weixin_40597409/article/details/112726800
Recomendado
Clasificación