自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MacWx的博客

每一个程序员心中,都有一个改变世界的梦想~!

原创 SpringBoot在自定义实现类中调用service层等Spring其他层报错为null的解决办法

背景: 使用Springboot整合Netty写了一个TCP实现客户端服务端通信接收主板信息,然后需要将设备实时发送的检测数据等关键信息存储到数据库,也是为了能最快利用mybatis框架实现数据访问,然后在TCP服务器消息处理时,需要写数据库,直接调用DAO层,编译报错。改为调用Service层,...

2020-04-02 15:42:01 124 0

原创 Springboot多模块配置详细教程+源码案例+所遇到的坑

Springboot多模块配置详细教程 这两天参考了下若依大神的后台管理项目,感觉程序的健壮性是真的强大,本人佩服的五体投地,很多程序设计技巧规范非常值得我去学习,其中第一个便是Springboot的多模块化配置,也正好项目中需要,所以特地学习一下,但是实际操作中遇到了很多问题,特此记录一下。 ...

2019-12-31 19:01:53 216 0

原创 Centos7 部署 Springboot步骤,小白详细教程,全图

1,打开idea命令行,进行项目打包 打包命令: mvn clean package -DskipTests 命令解释: clean 先清空当前class文件, package进行项目打包 -DskipTests 跳过系统中的测试Test文件 出现BUILD SUCCESS说明打包成功。 成...

2020-05-20 18:38:47 37 0

原创 Centos7安装MySQL 5.7,修改密码,开启远程访问(全套)

在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。 1 下载并安装MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mysq...

2020-04-29 11:33:22 51 0

原创 centos7系统运行、停止java程序常用命令,springboot打包运行

对于Spring Boot导出的jar包程序 当连接的远程服务器执行的时候,一旦关闭了当前终端,程序也被迫停止运行了。这显然是不行的 我想要的是让它常驻后台执行,不受启动其终端关闭与否的影响。 解决办法 在jar包文件所在的目录执行以下命令: nohup java -jar springboot...

2020-01-06 12:32:25 265 0

原创 java实现微信第三方登录流程源码详解,所遇到的坑

昨天在写一个手机版的web项目,要在微信客户端使用微信第三方登录,想着也没啥,看看就看看吧,但是可恶的微信官方文档给我画了很大的一个坑,特此记录 二次更新,说明一下我这个是用我微信网页授权,就是在微信客户端点开链接或菜单能弹出微信授权登录框的功能! 前期准备工作我就不多说了,无非就是公众平台账...

2019-12-19 19:56:26 108 0

原创 Springboot自定义注解实现操作日志管理

操作日志的记录 为什么要有日志? 因为我们不光要记录代码的运行,如(logback log4j),而且还应该记录用户的行为,这叫做业务运行日志 例如:记录 zhangsan 在项目中 调用了哪个方法, 什么时间调用的 。访问的ip地址, 访问了哪些数据,做了什么操作,以此当程序出现问题的时候更...

2019-12-11 15:29:18 208 0

原创 Linux-Centos7,开放相应端口命令

今天在配置阿里云服务器的时候,发现我明明已经开放了云服务器防火墙的8080端口,然而Tomcat还是无法访问,然后意思到可能是Linux系统的防火墙的8080端口可能还没有打开,于是查询总结了以下命令: 现在Linux防火墙有两种服务 - 1.service firewalld - 2.servi...

2019-11-17 12:57:03 110 0

原创 省市区管理sql数据表设计、以及全国省市区全部最新数据

使用Mysql数据库,主要字段有: 区域主键、区域名称、区域上级标识、地名简称、区域等级、区域编码、邮政编码、组合名称、经度、维度、拼音, 其页面展示效果图如下: 建表sql为: CREATE TABLE `region` ( `id` int(11) NOT NULL COMMENT &...

2019-10-16 11:53:59 386 0

原创 Spring Boot 封装文件上传工具类

springboot 实现文件的上传这里我用的是commins-io依赖: 坐标如下: <dependency> <groupId>commons-io</groupId> <artifactId>commons-io<...

2019-10-16 11:04:02 164 0

原创 layui 树形表格 treeTable使用详细指南,不能折叠解决办法

最近在写一个商品分类管理的功能,本来想用layui的树形组件来写,但发现layui原生的tree只能展示title,而分类的其他字段无法展示,这就有点不适用了,无意中看到一位大神自定义写的一个树形表格组件,正好满足我的要求,特此将使用方法以及其中遇到的一些坑记录下来。。。 首先看下treeTabl...

2019-09-25 17:51:44 3572 9

原创 git从入门配置到常用基本命令,傻瓜式操作一步步命令总结

1,git的下载安装 下载地址:git官方下载地址https://git-scm.com/download/win 安装,双击安装包,一直不停的下一步就安装好了。 检验是否安装成功:在电脑的任何位置 右键 Git Bash Here (打开Git命令窗口) 2,配置本地git name是你自己的名...

2019-08-26 21:14:09 255 1

原创 SpringBoot集成shiro认证,实现Shiro认证的登录操作

什么是Shiro权限管理? Apache Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多,因为它相 当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时 可能并不需要那么复杂的东西,所...

2019-08-25 18:01:45 546 0

原创 详解Redis,Redis缓存,Redis分布式锁

1、Redis基本知识 简介 Redis是一个支持网络、基于内存、可选持久性的NoSql数据库,目前在很多的系统中都使用了Redis,尤其是在实现缓存功能的时候应用的尤其广泛(缓存功能也是很多人对Redis的认识),那么Redis到底有哪些优点和缺点,为什么会被广泛应用呢? Redis的优点 Re...

2019-08-20 10:39:05 222 1

原创 Java随机生成【用户对象】:中文姓名、全国随机省市居住地、随机邮箱、手机号、注册时间工具类

话不多说,先上工具类,下面再解释: Java随机生成【用户对象】: 中文姓名、全国随机省市居住地、随机邮箱、手机号、注册时间 GenerateUserUtil.java工具类 package com.macw.util; import com.macw.entity.User; import ...

2019-08-18 17:41:37 1445 0

原创 MySQL数据库4种常用优化方式,sql语句书写优化规范

MySQL数据库优化 1. 引言 2. 数据库优化手段 3. 优化储备知识 3.1 慢查询 3.2 执行计划 4. 索引优化 4.1 索引语法 4.2 索引应用场景 5. 查询缓存 6. SQL优化 7. 读写分离 7.1 CentOS中linux的安装 7.2 MySQL...

2019-08-18 17:25:08 203 0

原创 POI简介,以及使用POI技术实现Excel文件的导入导出案例

1、什么是POI? Apache POI 是 Apache 软件基金会的开放源码函式库,POI 提供 API 给 Java 程序对 Microsoft Office 格式档案读和写的功能。 常用的两种java操作Excel技术POi和JXL的对比: POI 和 JXL 对 Excel 抽象出来的...

2019-08-14 21:44:51 107 0

原创 Maven仓库 一键自动删除失效jar包,没事儿点点~

因为网路等各种原因,使用maven仓库下载jar包可能会下载失败,或者下载一半停止, 下载失效的jar包会严重影响我们程序的运行, 看着明明没问题,但是一运行就报错,而且还很难找到错误问题原因, 所以及时得清理失效的jar包会使我们从程序减少出错的可能; 如何清理失效的jar包呢, 失效的jar在...

2019-08-14 21:04:24 192 0

原创 Redis持久化机制RDB 和AOF

redis持久化机制 redis服务器宕机,内存数据是会丢失了,为了保证数据不丢失需要对数据做备份,所备份就是持久化 RDB 和AOF RDB(默认使用):做当前内存数据的全本快照,将数据以二进制形式存储在硬盘上 RDB就是将redis上的所有数据做个备份,存储的是二进制的数据。 AOF(默认是关...

2019-08-11 16:27:16 259 0

原创 spring boot 实现文件的上传下载

spring boot实现文件的上传, 我是使用maven搭建的spring boot项目,页面集成的jsp。 页面结构如下: 准备工作:在webapp下新建一个目录叫upload 1,页面,upload.jsp <body> <form method="post&q...

2019-08-11 16:19:42 2403 0

原创 mybatis的二级缓存,以及如何利用redis优化mybatis缓存?

学习redis,缓存是很重要的一块 1.1 为什么要使用缓存? 为mybatis增加缓存功能,可有利用减少数据库访问 系统运行的瓶颈很重要的一个因素就是数据库, 减少数据库的访问压力,可以提高整个系统的吞吐量。 什么是缓存? 将SQL语句,以及对应的查询结果存在服务器内存中,这一块内存存储区域,被...

2019-08-11 15:33:42 404 0

原创 tomcat集群环境下如何保证session一致性

为什么集群环境下,会出现session不一致问题? 答:使用nginx的负载均衡之后,不确定访问哪个tomcat,导致客户端存储的jsessionid携带到集群环境下的其他tomcat是无效的。 关于集群环境下,解决session不一致问题? 方式1:负载均衡的策略ip黏着:在nginx的def...

2019-08-11 14:39:44 516 0

原创 多线程相关面试题:并行和并发的区别、线程和进程、线程的创建方式、运行状态

1,并行和并发有什么区别 并行:多个处理器或多核处理器同时处理多个任务。 并发:多个任务在同一个CPU核上,按细分的时间片轮流(交替)执行,从逻辑上来看并发的任务是同时执行; 简而言之: 并发=两个队列和一台处理器 并发=两个队列和两个处理器 2、线程和进程的区别 一个程序下至少有一个进程, 一个...

2019-08-08 11:37:27 306 0

原创 面试题:说一下HashMap和HashSet的实现原理?

HashMap是基于Hash算法实现的, 我们通过put(key,value)存储数据,通过get(key)来获取数据 当传入key时,HashMap会根据Key.hashCode()计算出Hash值,根据Hash值将value保存在bucket里 ,。 当计算出相同的Hash值时,我们称之为Ha...

2019-08-08 10:56:00 2576 0

原创 Redis数据库的介绍、安装、数据结构、常用命令

1、 redis是什么呢? redis是非关系型数据库(nosql),基于内存读写的数据库,采用key-value的方式存储数据 nosql: not noly sql ,没有表的SQL 在目前的企业开发中会用关系型数据库(Oracale+MySQL)+非关系型数据库(Redis 、MongoD...

2019-08-07 21:39:45 229 0

原创 Linux 常用基本命令总结

Linux 常用基本命令总结 1.1 ls 作用:查看目录下的所有文件 ls -a -后边的参数 命令可以跟参数 作用:可以查询被隐藏的文件 ls -l 作用:查看文件的详细信息 通常我们结合起来使用: 查询文件夹下的全部文件信息:ls -la r:可读权限 w:可写权限 x:可执行...

2019-08-07 20:43:06 114 0

原创 Centos 7使用MyCat搭建 MySQL-读写分离

什么是读写分离? 只有mysql的主机接收增删改SQL语句,从机接收查询语句,分担主机的查询压力 搭建步骤 新建一台Linux服务器、关闭防火墙 上传mycat的安装包到服务器、解压安装 配置mycat的环境变量 修改mycat的server.xml和schema.xml配置文件 启动mycat...

2019-08-07 19:55:40 475 0

原创 Centos 7搭建MySQL-主从复制

什么是主从复制? 如果数据库服务器一旦宕机,我们的项目将无法运行,如果数据库服务器硬盘损坏还将面临数据丢失的问题!!! 将MySQL数据库主机的数据复制到MySQL从机上(备份) 原理:将MySQL主机的SQL语句以日志的方式记录下来,通过网络将日志文件复制到从机上,执行日志中的SQL语句同步主机...

2019-08-07 19:46:17 288 0

原创 Spring boot 整合mybatis报错ClassNotFoundException: org.mybatis.logging.LoggerFactory

使用spring boot整合mybatis需要加入依赖: <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-...

2019-08-06 20:44:07 7184 6

原创 Yum命令使用,使用yum安装vim案例演示yum的使用

何为Yum ? yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。 基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下...

2019-08-02 09:59:40 603 0

原创 Centos7安装Nginx详细安装步骤

Centos7安装Nginx步骤 手动配置nginx的yum仓库 使用yum命令安装nginx 启动nginx 访问nginx 1.指定nginx的yum仓库 说明:centos系统中默认的yum仓库中没有nginx的安装包, 所以要想安装nginx需要单独指定它的仓库地址 1.1 将ngin...

2019-08-02 09:54:32 849 0

原创 Centos7安装MySQL,修改初始密码并且配置打开远程连接访问

Centos上安装mysql可使用在线yum安装和使用离线rpm安装,本篇文章分别讲解这两种安装方式: 在线安装步骤: 上传MySQL的Yum源 使用yum命令安装MySQL 启动MySQL服务 登录MySQL数据库 设置密码,设置允许远程访问 1.上传MySQL的Yum源 如果不上传yum源...

2019-08-02 09:47:08 1397 0

原创 Centos7安装JDK和Tomcat详细步骤

安装步骤 将JDK安装包上传到/opt下 解压 配置JDK的环境变量 使配置生效 测试JDK是否安装成功 1.上传JDK安装包到Centos系统中的/opt目录下 1.1 使用xftp软件和服务器建立传输 1.2 建立会话 1.3 填写连接会话的参数 1.4 上传JDK的安装包到Lin...

2019-08-02 09:01:32 386 0

原创 Nginx搭建负载均衡详细操作

什么是负载均衡? 互联网早期,业务流量比较小并且业务逻辑比较简单,单台服务器便可以满足基本的需求;但随着互联网的发展,业务流量越来越大并且业务逻辑也越来越复杂,单台机器的性能问题以及单点问题凸显了出来,因此需要多台机器来进行性能的水平扩展以及避免单点故障。但是要如何将不同的用户的流量分发到不同的服...

2019-08-01 21:46:15 85 0

原创 idea新手好用的几个插件、让你快速掌握IDEA

从Myeclipse突然转到idea,最让我们感到不顺手的就是快捷键的使用变了, 习惯了一个东西再去接受另一个新事物是很难接受的,虽然我们可以让idea切换成eclipse的快捷键, 但是仍然有很多功能的快捷键的我们所不知道的, 所以我要推荐的第一个插件就是: 1、Key promoter X ...

2019-07-30 11:08:07 806 2

原创 使用代理模式实现Spring AOP的面向切面编程,动态代理的四种增强处理

什么是代理类? 代理就是代替我们去执行一些额外的工作。 目标类:只有核心功能的类 比如我们在写service的时候,调用dao方法是我们的核心业务,而service类中的日志记录,事务处理,异常处理等都属于额外的功能,每个service方法中都要写一次这些额外功能也会造成大量代码的冗余, 而面向切...

2019-07-28 18:08:26 245 0

原创 面试题:BeanFactory和FactoryBean有啥关系?

没啥太大关系! BeanFactory(对象工厂),他是spring框架中的工厂类,spring的工厂设计的比较复杂,BeanFactory被抽象成了一个接口,我们经常写代码叫做ClassPathXmlApplicationContext是BeanFactory的实现类 FactoryBean也是...

2019-07-28 15:10:05 111 0

原创 简单理解什么是Spring中的IOC控制反转和DI依赖注入,Spring对象的三种创建方式

IOC :Inversion of Control 控制反转 DI : dependency Injection 依赖注入 咋一听,控制反转、依赖注入,似乎很高大上的名字,概念比较抽象,但其实慢慢分析,转换成自己的话也不难理解: IOC的理解: 在原始社会的时候,我们需要自己生火、...

2019-07-28 14:55:19 87 0

原创 Mybatis中$ {} 和 # {}的区别,动态SQL之if、where、set、trim、foreach标签的使用

一.Mapper文件的补充细节 a) Xml的特殊字符 在mapper文件中,小于号用& lt;代替, 大于号用 & gt;代替 i. < &lt; ii. > &gt; b) $ {} 和 # {}的区别 i. 使用上,$ {}要获取的参...

2019-07-28 14:22:27 66 0

原创 Spring如何给属性赋值?

spring提供了两种给属性赋值的方式 1.通过属性的set方法 2.通过有参构造 1. 通过属性的set方法 ,给属性赋值 1.1 属性是基本类型(包装类) + String (很重要) < property name=”属性名” value=”给属性赋的值”/> <...

2019-07-28 11:45:57 74 0

提示
确定要删除当前文章?
取消 删除