- 博客(73)
- 资源 (4)
- 收藏
- 关注
原创 阿里云图片或文件上传 启动时报Error creating bean with name ‘ossClient‘问题
1.版本问题,切换对应版本2.配置问题,需要在nacos里面设置oss.yml里面写上具体的配置然后设置好。在项目中添加上你的oss.yml的配置一定是要在bootstrapl里面配置的spring.cloud.nacos.config.ext-config[0].data-id=oss.ymlspring.cloud.nacos.config.ext-config[0].group=DEFAULT_GROUPspring.cloud.nacos.config.ext-config[0].r
2022-04-18 10:54:28
1471
原创 springsecurity中的配置的意义
使用一个配置类,继承 WebSecurityConfigurerAdapter这个类。实现参数为http的config方法。在方法里面可以配置具体的请求的加载方法(要放行还是认证)具体的是 @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests()//开启请求的权限管理 .mvcMatchers("/hello").
2022-03-28 10:54:22
527
原创 springsecurity01filter的初始化
首先他会进入到delegatingFilter完成初始化然后,通过这个getbean来获取web上下文中的组件。在filterchainproxy中通过getFilters来
2022-03-23 11:42:55
445
原创 vue的基本使用
首先要 在路由里面添加你的新地址。然后,穿件路由相关的页面。然后,在api里面添加接口,用于后端的对调,数据的接受。最后,在页面调用接口,获得数据,返回给页面使用
2022-02-26 20:28:38
305
原创 设计模式 7原则
1.单一职责单一职责,顾名思义,一个类只负责一个职责。例如:一个交通类。class Vehicle { public void run(String vehicle) { System.out.println(vehicle + " 在公路上运行...."); }}交通方式有很多,很显然这个不符合单一职责。那么怎么改呢?有两种第一种,创建更多的类,用不同的类封装不同的方法。显然这么做的代价太大。class RoadVehicle { public void run(Str
2022-01-25 10:56:41
200
原创 mybatis-plus自动填充数据
有的时候我们需要有些数据自动填充。比如创建时间和更新时间首先要修改我们的 entity类,在其中添加上配置,表名我们什么时候去添加数据//具体的我们可以点进去FileFill去看有哪些类型 @TableField(fill = FieldFill.INSERT ) private Data createTime; @TableField(fill = FieldFill.INSERT_UPDATE) private Data updateTime;具体类型如下publ
2022-01-22 17:09:39
228
原创 mybatis-plus 分页插件的使用
首先要先配置好分页插件。写一个配置类,在其中加入分页插件 @Bean MybatisPlusInterceptor mybatisPlusInterceptor(){ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
2022-01-22 16:32:06
2728
原创 This primary key of “id“ is primitive
其实这个就是mybatis-plus的实体类写的没有用包装类。你使用的是基本类型,有默认值,可能会有bug。如果用包装类的话,你不传参,他会给你查null,而基本类型则是查0.所以我们要使用包装类而不是基本数据类型...
2022-01-22 10:45:59
3155
原创 docker环境下,redis的扩容和缩容
本文根据阳哥的docker教程来的首先创建出redis的imagedocker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381按照上面的格式依次创建出6个然后进入一个容器构建主从关系docker exec -it redis-n
2022-01-10 23:07:31
699
原创 nginx 的使用(反向代理、动静分离)
随便启动一个 nginx 实例,只是为了复制出配置docker run -p 80:80 --name nginx -d nginx:1.10将容器内的配置文件拷贝到当前目录:docker container cp nginx:/etc/nginx .别忘了后面的点 修改文件名称:mv nginx conf把这个 conf 移动到/mydata/nginx 下终止原容器:docker stop nginx执行命令删除原容器:docker rm $ContainerId 创建新的 ngi
2021-10-27 21:44:35
819
原创 Shiro笔记
package com.example.springbootshiro.config;import org.apache.catalina.realm.UserDatabaseRealm;import org.apache.shiro.spring.web.ShiroFilterFactoryBean;import org.apache.shiro.web.mgt.DefaultWebSecurityManager;import org.springframework.beans.factory.
2021-10-24 12:41:24
141
原创 docker常用命令
docker images #查看所有本地主机上的镜像 可以使用docker image ls代替docker search #搜索镜像docker pull #下载镜像 docker image pulldocker rmi #删除镜像 docker image rm[root@bxh server]# docker search --helpUsage: docker search [OPTIONS] TERMSearch the Docker Hub for images.
2021-10-24 12:41:05
1909
原创 ES在java中的简单应用
如果要使用es首先导包。然后,配置好环境。写一个配置类,主要就是你的主机名字的配置,配置一个client。package com.atguigu.gulimall.search01.config;import org.apache.http.HttpHost;import org.elasticsearch.client.RequestOptions;import org.elasticsearch.client.RestClient;import org.elasticsearch.cl
2021-10-24 12:40:25
1541
原创 2021-10-24 Intellij-出现Module ** must not contain source root **. The root already belongs to module
解决方法
2021-10-24 12:38:41
379
原创 错误: 找不到或无法加载主类
对于这种问题有种及其快速的解决方法重新建一个模块,记得要和原本的模块名字不一样。然后把原来的代码复制到新的模块里面。这个是我试验出来,最快的,最无脑的解决方法。因为用别的方法没解决。搞了老半天,还是重建模块最省事儿。...
2021-10-24 12:36:12
387
原创 分页实现,增删改查
首先是在mybatis-plus里面有分页插件,我们只需要引入就可以。然后在我们的微服务中,添加一个配置类。@Configuration@EnableTransactionManagement //开启事务@MapperScan("com.atguigu.gulimall.product.dao")public class MyBatisConfig { //引入分页插件 @Bean public PaginationInterceptor paginationInterc
2021-10-14 19:44:45
114
原创 OSS云存储的开发和使用
在微服务架构下,文件的上传不能单一的上传到一个服务器上,要不然其他的服务可能取不出来。所以我们要将文件存储到一个统一的地方-------云存储在阿里云上开通OSS。开通完之后,可以查看阿里云上面的api先创建一个bucket。选择好地域,读写权限 选择公共读(如果是私有的话,读和写都需要账户和密码)。服务端加密不需要在这里插上传方式:上传之前,先找服务器要一个防伪的令牌签名,然后再上传给云存储服务器。这样文件就不会过我们自己的服务器,减小消耗的性能,首先,用阿里云的一个包<!-
2021-10-14 13:14:50
1113
原创 基本crud流程,menus 三级菜单
首先,是在页面上,有一个按钮,或者,在创建完成之后,就调用这个方法。然后,在方法上面写上具体的实现,传到后端哪个方法,传的什么数据,什么方式传。例如: getMenus() { this.$http({ url: this.$http.adornUrl("/product/category/list/tree"), method: "get", }).then(({ data }) => { console.log("成
2021-10-14 11:07:25
416
原创 Error handling misfires Couldn‘t store trigger 记录定时器quartz创建定时任务出现异常,导致项目无法启动
今天,在启动gulimall的时候,发现怎么也启动不了报的这个错获取定时任务CronTrigger出现异常记录定时器quartz创建定时任务出现异常,导致项目无法启动我的解决办法是,将数据中的schedule表清空。清空之后,就不会报错了。...
2021-10-13 20:27:19
3380
2
原创 dao层中有不在数据库中的字段
//直接使用一个注解 @TableField(exist = false) @TableField(exist = false) @JsonInclude(JsonInclude.Include.NON_EMPTY) private List<CategoryEntity> children;@TableField(exist = false) 就是声明这个字段不在这个数据库中,查询的时候,就不会将这个字段添加上去。...
2021-10-13 20:21:42
302
原创 JSR303后台校验
前台防君子,后端防小人。为了我们服务器的安全性,我们要将传过来的数据进行第二次校验。先导包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> <version>2.2.5.REL
2021-10-13 20:12:12
79
原创 前端改好,验证码显示不出来!!
通过网关来传递验证码,在改完前端之后,发现并没有显示我们通过网关来传递请求。首先要先将要传递的服务添加nacos注册中心。先配置上 application.name 和 nacos.discovery.server-addr配置完成后,在启动类上添加 @EnableDiscoveryClient然后,在网关中 写上你的路由。具体的路由规则可以查看 gateway官网我这里可以举两个例子spring: cloud: gateway: routes: -
2021-10-13 18:55:56
1451
原创 Nacos注册中心
Naocs配置中心动态修改配置首先在项目中,添加一个bootstrap.properties的配置文件然后在配置文件中写入基本的nacos信息spring.application.name=gulimall-couponspring.cloud.nacos.config.server-addr=127.0.0.1:8848先演示不加nacos的,在application.properties里面添加两个配置coupon.user.name=zhangsancoupon.user.age=1
2021-10-13 12:44:56
149
原创 深入理解AQS
AQS是什么?是JUC的基石框架,很多类都继承了AQS(AbstractQueuedSynchronizer)我们通过ReentrantLock来理解这个类。首先来三个线程。 ReentrantLock lock = new ReentrantLock(); new Thread(()->{ lock.lock(); try { System.out.println("A thread come in ---------"); TimeUnit.MINUTES
2021-10-11 18:15:56
71
原创 Mybatis中实体类属性名和数据库当中不一致的解决方法
开启Mybatis中的 驼峰命名 规则。 mapUnderscoreToCamelCase =truesql语句起别名使用自定义ResultMap,结果集。column(数据库中字段) property(实体类)
2021-09-22 11:05:32
146
原创 Vagrant 离线安装centos7
下载好vagrant后安装cenos7vagrant init centos/7用迅雷下载:https://cloud.centos.org/centos/7/vagrant/x86_64/images/CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box下载完成之后,装到你用的盘在你的安装目录下打开cmdvagrant box add centos7 ${PATH}\VirtuaBox-VMs\vCentos7.boxPATH 就是你的安装目录,至
2021-08-21 20:14:02
338
转载 mybatis中resultMap的用法
Mybatis的介绍以及使用:http://www.mybatis.org/mybatis-3/zh/index.htmlresultMap是Mybatis最强大的元素,它可以将查询到的复杂数据(比如查询到几个表中数据)映射到一个结果集当中。主要用于返回复杂的结果集resultMap包含的元素:<!--column不做限制,可以为任意表的字段,而property须为type 定义的pojo属性--><resultMap id="唯一的标识" type="映射的pojo对象">
2021-07-05 11:20:59
261
原创 mybatis使用心得
当开启驼峰命名的时候。mapper里面查询的,数据库的字段有_的还得有_要不然还是会报错。也就是说,数据库字段,一定要对应上,如
2021-07-01 12:44:26
84
原创 ‘javap‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
如果配了java_home,可以运行java命令。但是不能运行,javap的。就是没有在系统变量path里面添加。在path里面添加一下就好了。还有记得,java_home是到bin目录的,如果不是,javap运行不起来。
2021-04-19 12:03:50
3712
2
转载 JPA:java.sql.SQLSyntaxErrorException: Unknown column ‘book0_.book_id‘ in ‘field list‘
一、结论记住book0_表名是没有问题的;应该让含有大写的列名的@Colume(name = “全小写”)// 让含有大写的列名的`@Colume(name = "全小写"`)@Column(name = "bookname")private String bookName;// 不含大写的就不用写,只要你和表中同名即可private String author;...
2021-04-11 22:45:39
312
原创 动态代理
代理类和被代理类,实现同一套接口代理类将对象包装起来,然后用该代理对象取代原始对象。任何对原始对象的调用都要通过代理。动态代理本质上用的是反射。获取当前类的加载器,获取当前类的接口,最后,在执行这个类。也就是调用Proxy.newProxyInstance(ClassLoader,interface【】,InvocationHandler ) public static Object getPorxy(Object o){ MyInvocationHandler invoca
2021-03-21 10:33:42
69
原创 代理模式
静态代理个人理解,代理,就是在原有的代码上,又新建了一层。也就是将原本需要实现的代码,在新的一层中,还调用原来的方法,不变的味道,不变的配方。但是又可以添加新的方法。就跟中介差不离。...
2021-03-21 10:33:02
81
原创 KMP算法
理论篇KMP用来字符串匹配的。首先明白 前缀 后缀。比如 aabaabaaf。前缀:不包含最后一个字符的字符串即:a、aa.aab.aaba.aabaa.aabaab.aabaaba.aabaabaa后缀:不包含开口字符的字符串即:f.af.aaf.baaf.abaaf.aabaaf.baabaaf.abaabaf明白这个之后,就是next数组。next数组就是一个 对应表。即前后缀最大相等的个数从数组第0个元素开始,一直到数组结束。a----0aa----1aab----0
2021-03-20 19:54:23
62
原创 007-线程不安全(list)
list Map Set 集合都是不安全的,如果用jdk1.8来跑,多线程添加集合元素,就会报错。java.util.ConcurrentModificationException容易出现的异常底层源码。添加过程,读写分离。先锁住,然后复制一份,供其他人读,然后自己写(len+1),写完之后,set,将写好的放进去,然后,返回标志位,告诉其他人写好了,解锁。...
2021-02-17 17:10:03
136
原创 008-Callable
callable和runnable接口的区别:如果要完成runnable接口的调用,就不能直接new Thread.start实现。Thread实现Runnable接口Runnable接口被FutureTask实现而FutureTask的构造方法里面就有Callable,所以先实现FutureTask,然后将FutureTask的实例,传入Thread里面,就可以了完整的依赖关系如下下面是代码:package com.bai.callable;import java.util.
2021-02-17 14:58:37
96
原创 堆排序
堆排序,运用二叉树的思想。(这里是升序)首先是将数组变成大顶堆,大顶堆,也就是节点要大于左右孩子节点的值。这就要一个方法。搞定之后,找到最大值。然后,将最大值和最小值,进行交换,然后,在进行一次新的大顶堆排列(要记得比上次减少一个,因为要把最大值取出来)然后,不断遍历下, 就会将、数组变成有序的。下面上代码package com.bai.tree;import java.util.Arrays;public class HeapSort { public static void
2021-02-12 13:48:44
102
1
原创 基数排序
基数排序,运用什么思想呢?用空间换时间首先,创建一个类,类里面传一个数组,然后,在怎么办?之后,就该分类,也就是按照数组里得个位十位百位的具体的数值,将其分配到对应的0,1,2,3下。也就是说,我们要新建一个二维数组,用来存放临时数据。存放完之后,将其,放入到原来的数组中,再将临时数组置空。这样循环下来,按照最大位数的大小,也就是有几位,就循环几次,几次下来,也就排序完成了。当然,也要小心一下数组越界的情况,可能你的位数分配的不均匀,也就是,你的个位十位数太多了,导致数组越界的情况,根据实际情况
2021-02-03 12:29:05
84
Xftp6.0.0191o.zip
2020-12-16
mysql-connector-java-5.1.21-sources.jar
2020-06-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人