Java问题集01

端口占用
其解决方案为:

关闭已启动的tomcat,重新启动。
杀进程(windows)
查找进程id:netstat -ano|findstr “8080”
基于进程id杀进程:taskkill /f /pid 进程id

但是对于80端口杀掉后仍旧还在的情况下可以在任务管理器里找到http的那个进程删除

mysql连接失败
Java问题集01

计算机----管理----服务和应用程序----服务----右边找到MySQL------右击选择启动或者重新启动

nginx启动异常
当报错信息有某行…出错时修改nginx.conf文件,当没有报错信息时检查端口是否被占用.

sts连接超时
1打开spring官网创建项目
2阿里云网址https://start.aliyun.com/(无法创建一些最新的版本)

空指针异常Java问题集01
分析错误描述,找到自己写的类指定行号位置,看看哪个对象在进行方法调用,调用方法的对象有没有被赋值。

依赖注入失败
Java问题集01

问题分析:

检查错误代码中自己定义的类(例如DefaultCacheTests)中的属性
基于错误分析,哪个属性的值在进行依赖注入时失败了(例如DefaultCache)
检查注入失败的属性对应的对象是否交给了Spring管理(例如是否有特定注解描述,包结构是否正确)。

找不到对应的Bean对象
Java问题集01

AOP错误
aused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration’: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error Type referred to is not an annotation type: comcycypjcommoncommonaspect$RequiredCach
Java问题集01
Java问题集01

切点和注解处的全类名是否一致

yml加载失败
1、异常信息

java.lang.IllegalStateException: Failed to load property source from location ‘classpath:/application.yml’ Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1

2、异常原因
Java问题集01

编译后文件编码不是UTF-8

权限验证错误
org.apache.shiro.authc.IncorrectCredentialsException: Submitted credentials for token [org.apache.shiro.authc.UsernamePasswordToken - admin, rememberMe=false] did not match the expected credentials.
Java问题集01
在使用Shiro框架来进行验证登录在用户名和密码没错的情况下(密码写错也会出现此类情况),可以考虑1.AuthorizingRealm的继承类的重写方法名有没有写错。(所以重写注释@Override尽量写虽然可以省略但是他会帮我们检查重写方法类型返回值方法名是否写错)。
Java问题集01
这两处有没有写错,但是这里出错后面会跟一个cause.

3.Java问题集01
这三个属性是否出现缺少错误

事物隔离
当出现插入数据查询不出来,刷新后出来,或者最新的插入数据出不来,1.检查是否清除了缓存(如果使用缓存处理的情况)。2.是否使用了ajax代替查询,是否获取到了数据3.是否是多线程,多线程的话事物的隔离级别是不是READ_COMMITTED(可以通过断点一步步运行看看是不是可以查到正常的最新数据来验证)。

数据库与MySQL相关问题
数据库服务连接不上,如图
Java问题集01
问题分析:检查数据库服务是否启动,连接数据库的用户名,密码是否正确.

数据库版本或url配置问题,如图
Java问题集01
问题分析:检查数据的服务是否已启动,连接数据的url配置是否正确,数据库版本与驱动是否匹配.

数据库版本及url配置问题,如图-20所示:
Java问题集01
问题分析:在url中追加时区配置(serverTimezone=GMT%2B8)

访问的数据库不存在,如图所示:
Java问题集01
问题分析:检查url配置的数据库是否存在

指定命名空间下的元素ID已经存在。
Caused by: java.lang.IllegalArgumentException:
Mapped Statements collection already contains value for
com.cy.pj.goods.dao.GoodsDao.deleteObject. please check file
[D:\WORKSPSTS\CGB-SBOOT-01\target\classes\mapper\ GoodsMapper.xml]
and com/cy/pj/goods/dao/GoodsDao.java (best guess)
问题分析:可能是GoodsDao接口或映射文件对应的映射元素有重复。.

MyBatis 绑定异常,如图-24所示:
Java问题集01
问题分析:

检查接口类全名与映射文件中的命名空间是否不一致。

页面错误
URL响应资源不存在,如图-29所示:
Java问题集01
问题分析:检查tomcat启动是否OK,
检查url对应的服务端资源是否匹配(客户端url与controller定义url),
检查controller的包结构(所在包应在主启动类所在包的同包或子包中)。

视图解析失败,如图-30所示:
Java问题集01
问题分析:检查视图解析器的配置是否有问题。
检查响应资源是否存在?
响应资源存在,但页面标签写的不正确