菜鸟敲代码的问题

本文总结了Java新手在编码过程中遇到的一些典型问题,包括UTF-8 BOM格式导致的数据存储异常,SpringBoot启动时的bean注入失败,Maven打包错误,Durid数据库连接池配置,@Value注解取值为null,jar包引用问题,代码在不同工作空间表现不一致,Nginx配置外网访问404,maven打包打印过多日志,MyBatis自定义SQL查询字段为null,以及STS新建Spring-Boot项目时pom.xml的报错,并提供了相应的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. UTF-8 BOM格式

问题描述:在读取文件存入数据库时,数据前面有一个空白,在文件中看不见该空白串,也删不掉。

原因:该文件为UTF-8BOM格式

去掉BOM

String str2HexStr = FileParseUtil.str2HexStr(split[0].trim());
if (str2HexStr.substring(0, 6).equalsIgnoreCase(“efbbbf”)) {
str2HexStr = str2HexStr.substring(6);
}
String decode = FileParseUtil.decode(str2HexStr);

​ /**
​ * 字符串转换成为16进制(无需Unicode编码)
​ *
​ * @param str
​ * @return
​ */

​ public static String str2HexStr(String str) {
​ char[] chars = “0123456789ABCDEF”.toCharArray();
​ StringBuilder sb = new StringBuilder("");
​ byte[] bs = str.getBytes();
​ int bit;
​ for (int i = 0; i < bs.length; i++) {
​ bit = (bs[i] & 0x0f0) >> 4;
​ sb.append(chars[bit]);
​ bit = bs[i] & 0x0f;
​ sb.append(chars[bit]);
​ // sb.append(’ ');
​ }
​ return sb.toString().trim();
​ }

​ /*

2. SpringBoot启动bean注入失败

原因可能是因为jre,检查Window->Preferences->JAVA->Installed JRES,选择jre

3. Maven打包报SVN remove失败,maven依赖jar无法collect

可能是因为setting.xml中maven源配置问题,本次因为引用阿里源出错,导致jar不可用

4. 配置durid数据库连接池后无法使用拼接sql

因为durid中配置了防止sql注入的防火墙,只需要在配置参数中关掉即可

spring.datasource.druid.filters=stat(原先配置为stat,wall)

5. 关于使用@Value取值为null的问题

第一种情况,在声明属性的时候可能使用了static或final关键字

第二种情况,类没有加@Component或者@Service等,没有交给spring管理

第三种情况,这个类是new出来的,而不是@AutoWired获得

6.本地jar包存在,但是pom.xml报错说jar不存在

检查是否有多个本地仓库,检查引用的setting文件中的仓库路径

Window -> Preferences -> Maven -> User Settings

7.代码没有改变,但是不同工作空间下效果不一样

原因可能会因为新的工作空间下maven包的settings.xml文件没有引用正确,导致jar包版本没有引用正确

可参照6中的方法修改

8.Nginx配置外网映射,访问项目路径后报404

在这里插入图片描述

请求

在这里插入图片描述
解决:

检查端口是否都可用,本次换了一个端口就可以了

9.每次使用maven打包时会打印很多日志,类似项目启动

查看springboot项目是否有单元测试代码!

10.使用EntityQueryHelper查询没有问题,但是使用自定义sql查询数据库返回值中某个字段为null

因为数据库表字段名包含下划线

需要配置添加

mybatis.type-aliases-package = com.wanbo.entity
mybatis.configuration.map-underscore-to-camel-case = true

11.每一次使用STS新建spring-boot项目,pom.xml文件总是第一行报错

虽然报错,但是不影响项目运行,而且报错提示很奇怪:Uknow

解决,将pom.xml文件中spring-boot-start-parent版本号改为2.1.4.RELEASE即可

org.springframework.boot spring-boot-starter-parent 2.1.4.RELEASE starter-parent 2.1.4.RELEASE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值