【JAVA 项目技巧】Caused by: java.net.Connectxception: Connection refused:错误解决

更多的程序员文章收录在

【JAVA方向学习文章视频汇总】

(1)问题截图:

在这里插入图片描述

SpringBoot技术很多很多

本文专门讨论 SpringBoot相关技术的使用,必须要依赖于org.springframework.boot,所以项目必须要是springBoot 的项目

韩顺平说:学习JAVA的人有两大难
第一困惑,JAVA能百度到的知识太多太多,完全不知道学啥
第二困惑,就是不知道以什么样的顺序去学,有的时候乱看一堆视频有遗漏,有的时候,两边的视频还有重复。
建议,学习完右侧的技术之后,就应该投入到项目的学习当中,在项目里去学习左侧的技术会好很多。
Spring的外围技术就更多了。本例也是springBoot的外围技术,不过并不在下面的图表之中。
在这里插入图片描述
所以,学习东西要系统一些,如果基本功不够,那后面的技术就会学的很浮。

可以略过或浅尝辄止的技术

这个图中:看上去是过渡技术但是事实上在工作中用不到的:
springBoot里的技术本来就很多了,如果一股脑的扎进来,那有可能是撞的一头的包。

  • 无页面的 SpringBoot 的类的注入,配置等技术。(简单地过一遍就好)
  • JPA 技术 看上去应用面更多,但是问题是当大厂小厂都要求Mybatis 之后,其实JPA没有意义,小厂会使用Mybatis Plus 要注意的是这个并不是Mybatis 的升级,这只是Mybatis 的国内的再一次封装。
  • jdbc Template 这个是为了适应更多的数据库,如果项目中使用了国内的数据库,那么很有可能会用到这个技术,其它的项目,0.1%的可能用得到。
  • Thymeleaf 技术。非前后端分离,而且还是在国产的前后端分离完全流行之后,spring团队推出来的技术。在国内一点市场没有,在国外,可能市场不少。

最最典型的就是使用layui 也是前后端分离,非VUE。
基于Spring Boot的大学宿舍管理系统【大作业及毕设项目】

还有就是使用VUE做前端的,
那项目就多了,可以说是遍地都是。项目的总目录文章如下:
JAVA项目环境必知必会–【大作业及毕设项目】

环境及工具:

JAVA环境及工具:

本系列环境

环境win11安装博文B站视频地址
工具idea 2020Idea2020安装详解以及JAVA项目技术讨论-【JAVA环境】【JAVA环境】介绍IDEA 2020的下载以及安装
jdkJDK1.8JDK安装详解以及JAVA项目技术讨论-【JAVA环境】【JAVA环境】jdk安装及配置
数据库mysql5.5mysql安装超详细步骤(保姆级教程)以及JAVA项目技术讨论-【mysql数据库】
maven3.6.0Maven安装超详细步骤(保姆级教程)以及ANT讲解【JAVA环境】tomcat,Maven安装与配置
WEB服务器tomcattomcat安装超详细步骤(保姆级教程)【JAVA环境】tomcat,Maven安装与配置
数据库前端工具mysql-front
数据库前端工具navicat
其它lombok(低版本的idea上需要)【JAVA环境】在idea里碰到get/set编译的错误(lombok安装)

数据库前端工具:mysql-front (navicat 也可以)
主要是这些跟PHPStudy 2018 整合了,所以有的时候懒的打开navicat
关于环境的重要性,直接看上面的《SpringBoot 的项目编译即报错处理–JSB系列之001

数据库前端工具:mysql-front (navicat 也可以)
主要是这些跟PHPStudy 2018 整合了,所以有的时候懒的打开navicat
关于环境的重要性,直接看上面的《SpringBoot 的项目编译即报错处理–JSB系列之001

如果基础不牢,要回避的知识

假定,你在学校做过了JAVA的小项目了。(我指的是swing,servlet 之类) 可能会点SSM,也可能不会,那我马上就要毕业了,我得搞项目,搞毕设呀。啊!!!

  • 第一个要回避的就是JWT。
  • 上面的不使用了,shiro 也就不需要了
  • 然后是redis
    说一下理由。第一,你一个人使用的系统,你用啥JWT?Session. cookie , JWT 都是你一个人在用。完全不存在用户信息泄漏。
    单点登录就更用不上了。一共就一个系统。
    redis 也不需要,别说你一个人在使用,就是全班的人都在使用50人在线,redis 的优势也自不出来。mysql 数据库连这一点点的数据都不能快速响应,那PHP的平台的不是要直接宕机?而且mybatis 本身还有缓存。
    当然了,这是指你自己要把代码弄懂的这个前提下说的。
    但是问题是开源项目是别人的运行好的。那用啥环境也不是你能决定了,是吧?
    我说的是如果:
    你能选择的话,那你的JAVA毕设用JAVASpringBoot+layui + 微信小程序
    这样跑的又轻松,又紧跟时代潮流,学起来也快。

(2)问题解决

简言之: 就是没有连接到数据库的监听的服务上。
(这个错误信息适合任何一种数据库)
在这里插入图片描述
首先这一类的问题有可能被百度或其它的网页定义为网络问题。
当您遇到“connection refused; connect”这样的错误时,这通常意味着您的应用程序尝试连接到一个服务器或服务,但连接请求被拒绝。这种情况可以由多种原因引起,下面是一些常见的解决步骤:
然后初学者就不理解了,我一个本机的程序用本机的mysql 数据库哪里有什么网络的问题呢?
在这里插入图片描述
看一下oracle 的设计就比较清楚了。
每一个oracle 的实例其实并没有listener:
在这里插入图片描述

检查目标地址和端口:

确保您尝试连接的地址和端口号是正确的。错误的地址或端口号会导致连接被拒绝。

服务器是否运行中:

确认您要连接的服务确实在运行。如果您有控制权,检查服务是否已启动。

防火墙设置:

本地防火墙:确保您的本地防火墙设置允许您访问目标端口。例如,在Windows上,您可以通过“控制面板” -> “系统和安全” -> “Windows Defender 防火墙”来检查和修改规则。

服务器防火墙:确保服务器上的防火墙或安全组规则允许从您的IP地址到目标端口的入站连接。
网络问题:
检查您的网络连接。使用ping命令来测试网络连接和目标服务器的可达性。
本机也有可能是网络问题? 这个还真的是有可能的。有一些人乱上网把host文件改了,127.0.0.1 使得不会指向本机。这也是有可能的。

(3)会不会是数据库的帐户密码错?

不会。
因 为那是另一个错误
在这里插入图片描述
那个错误是:
access denied for user root@localhost

  • ‌密码错误‌:输入的root密码不正确或已过期‌。

或者是其它的,也并不只是密码才会弹出此错误

  • 权限限制‌:root用户未授权本地访问权限,或权限被修改‌。
  • ‌服务/配置问题‌:MySQL服务未运行,或配置文件(如my.cnf)存在错误‌。
  • ‌认证插件冲突‌:MySQL 8.0+默认使用caching_sha2_password插件,旧客户端可能不兼容‌

另外:
还可以在启动类里记录下项目的其它的配置要求:
数据源里的datasource 的名字。用户名,密码。还有就是mysql 的驱动是com.mysql.jdbc.Driver
总的来说,
com.mysql.jdbc.Driver 是 mysql-connector-java 5.7之前的,
com.mysql.cj.jdbc.Driver 是 mysql 8及8之后的的,其实一般的项目使用的mysql数据库要么就是5.5 5.7 要么就是mysql 8
初学者容易陷入一个误区,就是什么东西最新版是最好的,事实上很有可能他写的东西,明明JDK6.0就完全足够。一边喊着自己的机器内存不足,一边让内存运行着他自己用不到的东西。就比如说idea应该算是这些开发者工具里最卡的。有人可能明明只是打开几个网页,那为什么不使用webstorm? 甚至不是写很多代码的时候,为什么不选择更轻量级的VSCode?

很多的初学者都是自己放弃了自己的

初学者基本上都是碰到问题然后自行放弃的。
不过,能不放弃,不停的尝试并且尝试成功的,也一定会在计算机 的行业里立上脚跟。
我以前在2017年IT培训大火的时候,也从事了IT培训行业。我发现能在某一个难点不停的钻研的时候,难怕是失败了,这个人后面也有所成就,以前一直不太理解。以前一直认为这就是所谓的科研的钻研精神。
直到我刷到小红书上这个人的见解。
在这里插入图片描述
在这里插入图片描述

配套资源

配套资源

作业:

无,看懂即是神
学SpringBoot,里面的东西很多,没有人可以在工作之前都能碰得到,经验的积累才是工作中顺利晋升的关键

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

项目张雪峰之巅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值