自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 java的代理模式

java的三种代理模式简介静态代理jdk动态代理cglib实现动态代理简介代理模式的定义: 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。以上为百度百科对代理模式的定义;通俗一点讲,java中的代理模式就是你想要访问一个目标对象,但是不直接访问它,而是通过它的代理对象访问(因为代理对象可以对目标对象做增强操作),这就是java的代理模式。示意图如下:在java中,有三种代理模式,分别为静态代

2021-10-29 18:10:36 1884

原创 java实现多线程的常用方式

java实现多线程的常用方式继承Thread类继承Thread类继承Thread类,重写run方法package com.example.course.config;public class TestAsync extends Thread { @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println("hello world " +

2021-10-27 17:49:06 334

原创 Linux常用命令归纳总结

文章目录一、常用基本命令1、关机与重启关机重启2、帮助命令--help命令man命令二、目录操作信息1、切换目录2、查看目录3、创建目录一、常用基本命令1、关机与重启关机1、shutdown -h now     立刻关机2、poweroff     立刻关机3、shutdown -h 10     10分钟之后关机参数解释:-h表示关机之后停机;重启1、shutd

2021-10-14 11:19:21 385

原创 Spring Boot自定义Starter

1、创建项目1.1、Starter其实就是一个普通的maven项目,所以如果我们要自定义Starter,需要先创建一个maven项目,然后添加自动化配置类即可:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> <version>2.4.5<

2021-08-30 16:53:27 143

原创 java类中资源的加载顺序

1、创建一个Father类,如下:public class Father { { System.out.println("父类的普通代码块1"); } static { System.out.println("父类的static代码块1"); } public String name; public int age; public Father() { System.out.println("调用父类

2021-07-14 16:14:53 312

原创 springboot通过CORS(cross-origin resourse sharing 跨域资源共享)解决跨域问题

源简单来说,源就是指协议,域名和端口号,所谓同源就是协议相同,域名相同,端口号相同,以下举个例子:对于 http://www.aa.com/test/index.html 判断是否同源(协议为http协议,域名为www.aa.com,端口号为80(默认,可以省略))1、http://www.aa.com/bb/index.html ——同源;2、http://www.baidu.aa.com/bb/index.html ——非同源,域名不一致;3、https://www.aa.com/bb/ind

2021-07-07 11:18:02 714

原创 springboot集成swagger2

1、创建一个springboot项目,添加swagger2依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency>

2021-07-02 14:40:36 1437

原创 使用java实现发送邮件功能

使用java实现发送邮件功能1、获取邮箱的授权码(这里以qq邮箱为例)2、添加依赖,我使用maven管理依赖3、编写代码1、获取邮箱的授权码(这里以qq邮箱为例)qq邮箱–>设置–>账户,开启POP3/SMTP服务,然后可以得到一串16位授权码2、添加依赖,我使用maven管理依赖<dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</

2021-05-08 17:38:41 416

原创 spring事务

spring事务事务的概念事务的四个特性(acid)1、原子性(Atomicity)2、一致性(Consistency)3、隔离性(Isolation)4、持久性(Durability)spring的事务管理操作编程式事务管理声明式事务管理基于注解方式基于配置文件方式事务的概念数据库操作的最基本单元,逻辑上的一组操作,要么都成功,要么都失败。场景:转账时转出方和转入方的金额变化要么都成功,要么都失败,不能只成功一部分。事务的四个特性(acid)1、原子性(Atomicity)事务内的所有操作要么全

2021-04-20 19:45:22 69

原创 spring中@Transactional注解失效

@Transactional注解失效@Transactional注解失效1、看数据库表的引擎是否支持事务2、看是否对发生的异常进行了捕获3、看是否开启了事务注解4、看方法的访问修饰符是不是public5、看是否被未注解的方法调用@Transactional注解失效1、看数据库表的引擎是否支持事务对于MySQL数据库,常用的引擎有MYISAM和InnoDB,但MYISAM引擎不支持事务操作,InnoDB引擎才支持事务操作,所以可以先查看表的引擎是否支持事务。2、看是否对发生的异常进行了捕获如@Se

2021-04-17 17:29:08 239

原创 jdbcTemplate

jdbcTemplate增删改查方法添加数据单个数据添加批量添加查询数据返回多个属性值返回某个值修改数据单行数据修改批量修改删除数据单行删除批量删除增删改查方法先在创建spring数据库,并且创建user表,如下创建文件夹,层级关系如下User类package com.example.demo.entity;import java.math.BigDecimal;public class User { private Integer id; private String

2021-04-13 19:22:18 116

原创 spring AOP学习

AOPAOP概念AOP底层原理jdk动态代理实现cglib动态代理实现AOP概念面向切面(方面)编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术,在不改变源代码的情况下添加新的功能,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。AOP底层原理AOP底层为动态代理实现,主要有jdk动态代理和cglib动态代理。jdk动态代理实现在有接口的情况下,使用jdk动态代理,创建接口的实现类代理对象,增强类

2021-04-11 11:18:03 62

原创 spring IOC学习

IOCIOCIOC概念IOC底层原理IOC接口IOC操作Bean管理1、基于xml配置方式实现set方法注入有参构造注入p命名空间注入c命名空间注入对象属性注入2、基于注解方式实现使用@Autowired注解和@qualifier注入使用@Resource注解注入使用@Value注入普通属性3、完全使用注解开发IOCIOC概念控制反转(反转控制),将对象的创建以及相互之间的调用过程交给spring容器处理,以此达到降低代码间的耦合度的目的。IOC底层原理一、使用到的技术:xml解析,反射,工厂设计

2021-04-07 18:38:19 125

原创 解决mysql查询对中文排序失效的问题

解决mysql查询对中文排序失效的问题今天遇到一个需求,需要对某个字段进行顺序排序,于是便有了如下的sql语句:结果如下很明显,最后的order by语句有点问题,没有得到我们想要的排序效果。然后我在网上查询了一下资料,得到的结论是:因为mysql默认是使用utf-8编码,所以在没有其他操作的情况下对中文排序不一定能得到我们想要的结果。解决办法如下,在不改变表结构的情况下,找到了两种有效的解决办法:第一种,将字段值改为gb2312编码排序第二种,将字段值改为gbk编码排序当然,也有其他

2021-04-01 11:45:15 685

原创 centos7安装redis3.2.8

准备工作由于redis的安装依赖于gcc环境,所以应该保证安装了gcc,命令如下:yum install gcc-c++下载redis我是使用wget方法下载的,如果没有安装过wget的话,可以先使用下面的命令安装一下yum install wget安装按wget之后可以执行如下命令wget http://download.redis.io/releases/redis-3.2.8.tar.gz安装redis将下载下来的安装包拷贝到”usr/local/“目录,一般软件安装在这个目录

2021-01-06 15:30:21 287

原创 如何使用mysql处理json数据

使用mysql处理json数据原数据第一种,JSON_EXTRACT使用函数JSON_EXTRACT第二种,字段名->> '$.对象属性名'今天在做一个使用sql导出需求时突然遇到要在sql里面处理json数据,以取出需要的字段,查阅了资料之后发现了两种方式,如下:原数据第一种,JSON_EXTRACT使用函数JSON_EXTRACT第二种,字段名->> ‘$.对象属性名’可以看出,两种写法都是可以解析json数据的,不过第一种只是把属性值原样拿出来,而第二种是经过了

2020-12-30 17:57:32 808

原创 启动elasticsearch报bindException异常

启动elasticsearch报bindException异常昨天晚上自己尝试了一下启动elasticsearch和kibana,很成功,然而今天早上到公司之后发现启动elasticsearch的时候居然报错了,令我百思不得其解,错误信息如下图后来我查阅了一些资料,发现好像是我的配置文件的问题,因为我电脑都是连wifi的,在家的ip跟在公司的ip不一样,导致出现了这样的错误,在家时的elas...

2020-03-31 10:24:15 1059

原创 kibana启动时报错“No Living Connections”

kibana启动时报错“No Living Connections”昨天自己捣鼓了一下es,发现kibana启动的时候一直在报错,报错信息如下后来检查了一下配置文件,发现配置文件里面有这么一段配置后来我把这个配置注释打开,然后把localhost换成了本机的ip,OK,事情解决...

2020-03-31 10:06:25 11891

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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