- 博客(112)
- 收藏
- 关注
原创 attempted to return null from a method with a primitive return type (int).
mybatis报错,但是sql执行成功.原因: 返回值为null,但是定义的返回值为int.匹配不上.具体原因 标签错误.新增语句,用了 标签,导致返回有问题.insert,update,delete都有自己的标签.平时select写习惯了,导致标签不对应,所以拿不到返回值....
2021-12-31 17:35:33
401
原创 SpringCloudAlibaba
1: nacosnacos是一个单独的服务,不是自己开发的.下载启动即用.下载启动在nacos官网快速开始中都有.很简单.nacos快速开始链接默认端口8848 默认访问地址 域名:8848/nacos初始密码: nacos nacos登录即可....
2021-12-09 17:13:21
451
1
原创 @Aspect对应jar包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>
2021-11-19 11:13:39
1820
1
原创 postman发送post方式,但是一直说是get方式,并且返回不支持get
两个问题:第一个,如标题: 原因: 使用的是http ,不是https, 原理未知.使用https可以.第二: 明明方法调用到了,但是返回404.猜测原因,方法没有注解responseBody.导致返回有问题.
2021-10-20 18:40:23
1406
原创 热插拔的核心问题
项目功能热插拔的核心问题是什么?首先什么是热插拔:? 针对于项目来说.我个人的理解就是:对于项目的某个功能而言. 在不影响项目运行的条件下(不修改代码,不重新发版.).可以进行启用,禁用该功能的操作.能够符合这个条件的,才能称的上是热插拔.实现的方式有一些:通过数据是否存在实现.通过参数配置实现.以上的实现方式,像是一个开关. 开对应插,关对应拔.那么有一些的实现方式: 那种方式是比较好的呢?这就是我认为的核心问题:开关的设计,是否合理以及方便.举个例子:夜里睡觉的时候,需要关灯
2021-10-19 16:21:57
156
原创 项目部署时间问题
jackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT+8这个可以让服务器得出入时间得值是东八区的时间.但是数据库中的数据的值,还是不正确.数据库中的select now的时间是正确的时间,但是new Date 直接往数据库中插入的时间是一个差8小时的时间.serverTimezone=UTC是世界时间,世界时间比北京早八小时. 设置这个导致数据库的时间设置进去不对.改为下面这个,就是当前的系统时间,也就是北京时间.Asia/Shan
2021-10-12 16:13:11
223
原创 bug信息排查,关于kafuka
我想要看到我的机器有没有挂载到kafka.一开始不得己门而入.因为端口不对外开放.只能通过命令行.我对命令行又不熟.最后有一个办法.1:先 ps aux| grep kafka 查看kafka所在的目录.然后切换到kafka中间.使用bin/kafka-topics.sh --list --zookeeper 127.0.0.1:2181这个命令. 查询所有的topics.如果我的主题在里面,就证明连上了.能证明连上了之后,就去查其它的问题....
2021-09-22 21:44:38
92
原创 重阳节加班--新建项目
好久没有创建项目.碰到了一些问题.记录一下:总共花了不到一个小时解决掉了,还可以.不宜妄自菲薄.首先:一个报错是: 无法创建mapperCaused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘cn.ycsin.base.mapper.WechatMaterialNewsMapper’ available: expected at least 1 b
2021-09-09 20:45:57
82
原创 事务,循环执行,心得
@Transactional:在同一个类中,注解在方法上被调用是无效的.如果注解在方法上:这个方法被同一个接口重复调用的话,那么每次调用都会启用一个新的事务.事务的回滚只会影响到当前事务.如果是需要细化的事务级别的话.不能够抛出异常停止事务,因为这样的话,会导致后面的循环不再执行了.如果执行到需要回滚的代码.并且不希望继续执行本次循环的后面的代码,但是希望执行下次循环.那么直接return就行.下次调用依旧会进来,程序依旧会继续执行.这些东西要作为一个参考.心得.忘得时候有个佐证....
2021-09-07 22:19:01
554
原创 无语的错误排查,结果更无语
数据库字段a,默认值为1.没有insert以及update的sql语句对a进行操作.代码中实体,也没有对a进行set的操作.但是数据库中就是莫名其妙的有值: 0想破脑袋不知道这个0 是哪里出现的.不相信的全局搜索了一次又一次.都TM怀疑人生了.最后好不容易,找到了一个保存的放.然后模拟了一些参数.最后发现bean中的a定义的是int类型.然后创建对象的时候,它是会有初始值0的.我觉得无语:1: 我没想到有人这样写,不直接定义包装类. 反而直接写int.2: 我没想到会是这么个问题
2021-08-31 18:09:00
97
原创 代码规范的重要性
我曾经接过的项目,层级不明确.代码无注释,表无注释.字段无意义.枚举无注释.1: 从最低的数据库:表的建立要有统一的标准以及规范.包括命名,表名,字段名,索引名.数据类型,以及长度.最重要的就是注释.表的用途以及字段的意义.shop_id: 是门店id,store_id: 也是门店id.shop_code: 有时候也会放门店的id,如果没有注释,那么只能靠猜.不同的人,对于字段的代表意义认知是不一样的,最好是用通用的语言去描述它.2: 从代码层面来说.实体的用处也要写清楚注释.即使数据
2021-08-24 18:19:53
312
原创 idea安装插件的时候搜索不到原因之一
今天新装了一个环境,像往常一样,去安装lombok插件,但是idea中,怎么都搜索不到。并且搜索不到任何的应用插件。就像是断网了一样,但是网络是正常的。重启几次无用之后,感觉到不科学。怀疑了一会人生之后。突然想到,不能联网是不是因为被防火墙拦截了,然后去看本地的防火墙,已经全部被我关闭。没问题。但是还有一个360,360的安全卫士的保护应该也是有防火墙的。是不是360把idea进行隔离了,导致idea搜不到应用。越想越有可能,然后把360退掉。重启idea,成功搜索到应用插件并安装。错误有
2021-08-10 11:53:11
208
原创 gitLab推送代码
1: 使用idea进行commit的时候,填的是一个名称,一个邮箱,没看出来啥效果.2: 进行推送的时候,需要输入userName,以及passWord,这里没写邮箱,userName直接写了gitLab对应的名字.密码就是登录gitLab的密码然后推送成功了.~~使用git直接拉代码的时候,我忘记了我输入的是什么了,但是我直接拉成功了.额.应该记录一下的,大概率是邮箱,以及对应的密码....
2021-08-06 18:55:53
654
原创 企业微信怎么进?
企业微信是什么?企业微信就是另外一个App,跟微信不是同一个App,靠,想进去,得下个企业微信。才能进去????,有人邀请以后,扫码就进去了????
2021-08-02 13:58:57
202
原创 尝试搭建rabitMq
1: 使用的阿里云服务器. 下载了一个mq并且能通过页面进行访问.2: 准备两个项目,作为生产者和消费者.使用springboot的框架进行搭建,那么我选择在yml配置文件中配置rabitMq以达到我想要的效果.首先: 加入对rabbitMq的jar包引用.<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amq
2021-07-19 00:29:54
161
1
原创 宝塔篇-使用宝塔面板安装mysql遇到的navicate连接问题
概述:我以前自己进行服务器的mysql安装.安装完毕之后对root用户,进行远程权限的开放.(默认是只有本机能够连接到本数据库,开放远程权限,是说使得其它主机或者任意主机能够连接上本数据库,也就是说远程连接的意思.)此时,就可以使用navicate进行远程连接了.但是由于linux不同的发行版本以及源还有安装命令的不同,搞的我头大.所以,我使用了宝塔面板进行一键安装.安装完毕之后,也是对root用户进行了远程权限的开放.这里开放权限有两种方法:第一: 连接服务器,在终端中敲命令.第二: 使用宝
2021-07-18 13:33:55
732
2
原创 集合中存的是引用
public static void main(String[] args) {BbUsers bbUsers = new BbUsers();bbUsers.setName("环境策划师 ");List usersList = new ArrayList<>();List usersList1 = new ArrayList<>();usersList.add(bbUsers);usersList1.add(bbUsers);for (BbUsers users :
2021-07-06 14:52:03
87
原创 日志切面处理所有,异想天开了.
在切面里面实现一个全局管理的操作日志是件比较合理且容易的做法:比如,谁,操作了那个接口.这个是毕竟容易的做法.但是如果再细下去:细化到每个人,具体改变了什么参数.改变之前是什么.换言之,前后两次记录能够关联起来.能够在切面中关联起来.我想到一个做法:首先,根据传入的id,找到对应的对象,再去log中,查到新增中的参数列表. 然后拿到一个一样的参数.创建时间就是唯一的.但是切面中的,与实际的可能不一致.其它参数又不一定有.时间不是绝对可靠,但是它大部分时间是可靠的,因为精确到秒.第一步,
2021-06-18 14:28:20
142
原创 那些让我有点感慨的基础,人之过也
java中重写能否发生在同一个类中:不能。概念问题。重写(Override)就是指父子类之间的,一定是在不同类之间的(而且是父子关系),方法参数必须相同;要跟重载(Overload)区分开,它是指同一类内部的,方法参数必须不同。...
2021-06-17 10:38:43
57
原创 试用docker容器,安装rabbitmq命令
docker run -d --hostname my-rabbit -p 5672:5672 -p 15672:15672 rabbitmq:3.8.0-beta.4-management
2021-06-04 10:50:31
70
原创 Long.intValue可能会导致负数
当long的值足够大的时候,转为int,会不准备,精度缺失的厉害,会来回变. 数值相差很大.还有,甚至可能变为负数. 会导致比较结果完全相反.用的时候切记.
2021-05-18 16:17:02
1159
原创 注解打在方法上: 异常时事务回滚不生效原因之一
异常的回滚:@Override@Transactional(rollbackFor = Exception.class)这个 @Transactional(rollbackFor = Exception.class) 的注解,可以打在最外层的接口上,也就是供访问的那个地方. 与requesMapping同用 .也可以与Override同用.这两种都会生效.但是单独打在被调用的方法上面,是不生效的,程序发生异常之后,数据并没用回滚....
2021-05-18 15:57:06
204
原创 BeanUtil拷贝与打印,结果打印出问题.导致测试不准确问题
三个类,A,B,CB extends A .C extends ABeanUtils.copyPropertites(B,C);然后用阿里的fastJson打印C的参数.C因为extends A ,并且没有相关的注解.所以,打印的数据不准备,没有A的相关字段.但是实际上是拷贝到了.只是没打印出来.导致测试出现问题,误以为正确.记住这个差别.如果要打印全部的字段. 需加上注解@toString(callSuper = true)...
2021-05-12 14:37:03
87
原创 注解如何生效?
AutowiredAnnotationBeanPostProcessor:这个类,用来处理依赖注入的问题.注解只是一种标记:注解的生效与注解本身无关,而与处理这些标记的逻辑有关.例:扫描工程:发现了@Autowired这个注解的标记,就处理被标记的这些类.而实际处理的逻辑,在具体的对应的处理类中,比如: AutowiredAnnotationBeanPostProcessor...
2021-05-12 14:31:33
449
原创 sql联表修改篇
先联表,后修改例:update bb as inte inner join item as item on inte.order_item_id = item.id set inte.pay_type = item.pay_type
2021-05-07 16:43:34
1066
原创 随笔
接口: 是对同一类行为的一种抽取.定义一个接口:吃饭.人也能吃,猪也能吃.人吃烤乳猪.猪吃饲料.一个接口类.Eat Interface一个方法: eat.两个实现类, people , pig. 都实现eat方法.这样的话是可以的.但是我就一个eat 实现类我实现eat方法.然后进行判断:if(people){执行people;}if(pig){执行pig;}如果: 代码都是在eat中,还是用了if的,不优雅.那么把people的行为,和pig的行为各自封装.里
2021-04-20 11:59:19
102
原创 idea使用技巧篇:
idea的功能很强大.但凡我感觉到厌烦的地方,需要快捷处理的东西,一搜,都有,简直是个挖不完的宝藏.例: 重复代码有波浪线提示,使用快捷键可以自动生成相应的公共方法和引用.只需要起个名字. 简直全自动.牛皮的很.快捷键: ctrl+alt+m提示大全:1:change access modifier : 修改访问修饰符.就是public,private,protect,默认的这些.例: 把方法从private 修改为public.2:bind method parameters to field
2021-04-19 11:29:03
522
原创 jar包引用的使用感悟篇
引入jar包之后,就可以使用其中的方法:可以使用工具类:如果是static的方法,类名直接调用. 这个很方便,早就知道了如果是框架的代码,必须是public的才能用.怎么用呢? 就跟平时自己写代码一样.springboot很方便,用注解@Autowired注入到容器中.平时很少用到这种,注入源码的类,猛然又想不起来,做个记录.先把对应的类注入到容器里面,然后再调用里面的方法.这样的话就可以使用了.业务场景: 用了框架,但是框架又跟业务有点冲突.所以,用...
2021-04-12 19:20:00
115
原创 shiro权限问题.
shiro的权限资源变动的时候. cache中的权限并没有同步更新.按理说: 一个用户登录后,会生成一个新的Auth的cache. 然后验证权限的时候,会去cache里面根据用户的身份,拿到具体的perm权限集合.然后看是否含有这个权限.但是呢,因为同一个用户登录的时候,生成的key是相同的.所以根据这个key,拿到的就是旧的cache数据.所以,权限就没有及时更新.想了个点子: 登录的时候,根据key,把cache里面的这个perm删掉.我看的几个源码图片:12...
2021-04-12 19:06:28
152
原创 hashMap使用篇
关于双层for循环与试用hashMap的取舍. 我一直在使用map的用法.我也知道hashMap的存放跟取值都很快.我也知道时间复杂度.我还知道hash函数一次寻址,找到如果不哈希冲突就可以O(1)的存取值.但是我没想过去探究,去量化它.我就只是经常的用它而已.今天想写一下了:如果是比对取到对应的id的对象的话. 不要使用双层for循环.先把一个对象集合遍历,然后把id作为key,对象作为值,放入HashMap中. 再遍历另外一个对象集合,根据相同的id参数,去map中取值.使用...
2021-04-07 16:39:57
121
原创 支付回调篇
调用第三方支付的时候,是会自己生成一个本地支付单号的,如果有有两家公司,用了同样的支付配置,那么怎么解决呢?根据支付配置,获取到的信息是一样的,但是我们可以在我们的编码生成规则里面做文章比如: 我在生成支付单号的时候,把公司的id放进去,我拿到的时候,把公司id摘取出来,然后分公司做处理.这样的话,无论是分公司,还是说,分类型,都可以蕴藏在这个编码的生成规则里面.适用于很多种情况.还有一种方式是回调的时候,回调地址拼接参数,这样回调的时候,通过: @PathVariable 是可以获得的.第.
2021-04-07 16:31:01
286
原创 微信支付之配置域名篇
微信支付的时候,是要配置域名的,像提示,没有配置什么http什么有效域名的就是没有配置支付的业务域名. 配置的域名为后端的访问地址.也就是说,它要知道你后端服务器的域名,才能够去正确的调起支付. 即使,调起支付的时候,发送了回调地址过去,但是地址要和配置的域名一致.我猜测原因9成是为了验证.比如说,你随便给了一个域名,与你调起的域名不一致,那么它回调到的其实不是你的服务,那么这就是一个错误的回调. 所以,为了安全,它们这边需要配置域名,验证域名一致,是一个服务发起,并且回调的地址,才会去进...
2021-04-07 16:21:58
3684
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人