docker
虚拟机安装Docker以及启动将老版本docker删除干净1234567891011yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-enginerpm -qa |grep dockeryum list installed | grep dockeryum remove -y containerd.io.x86_64 docker-ce.x86_64 docker-ce-cli.x86_64
安装见 教程
修改docker.service文件/etc/systemd/syst ...
日期时间 LocalDateTime
场景:
SimpleDateFormat 的format和parse方法是线程不安全的
LocalDateTime、LocalDate、LocalTime
创建123456789101112131415//创建当前日期LocalDate localDate = LocalDate.now();//创建当前时间LocalTime localTime = LocalTime.now();//创建当前日期时间LocalDateTime localDateTime = LocalDateTime.now();//构造日期LocalDate localDate1 = LocalDate.of(2020, 5, 12);//构造时间LocalTime localTime1 = LocalTime.of(9, 15, 0);//构造日期时间LocalDateTime localDateTime1 = LocalDateTime.of(2020, 5, 12,13,14,0);//根据构造日期和构造时间合成日期时间LocalDateTime localDateTime2 = LocalDateTim ...
Mybatis相关
此为mybatis的用法,plus的用法 点击 进入
xml中使用uuid
uuid用法
123<selectKey keyProperty="key名" resultType="java.lang.String" order="BEFORE"> select uuid()</selectKey>
在 中间加上上面段落 keyProperty为insert的id栏位值
即使java中有方法重载,但XML中标签id不能有相同的
yml配置
12345mybatis: mapperLocations: classpath:mapper/*.xml #mapper.xml配置路径,该配置对应resources/mapper/ type-aliases-package: com.simplemw.entity # 实体类所在的位置 configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #用于控 ...
序列化和反序列化
解释:
java核心思想为面向对象,在内存中为一个一个的对象,序列化与反序列化为操作对象的一种方式
序列化:将 java对象 转换为 二进制序列
反序列化:将 二进制序列 还原为 java对象
序列化用途:
对象存储硬盘
对象网络传输
Serializable 知识扩展 链接
多数据源配置
mybatis中通过 SqlSessionFactory 来创建 SqlSession会话对象,一个会话commit一次,也即一个会话就是一个事务
动态数据源构建原理就是根据需要,添加需要的datasource来定制化 SqlSessionFactory,springboot中集成通过切面的形式来进行配置
mybatisplus 动态数据源整合
第一种部署添加依赖12345678910111213141516171819202122232425262728293031323334 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.2.2.RELEASE</version></dependency><!-- mybatisplus相关依赖 --><dependency&g ...
GET和POST
web提交get提交
一般用于查询和删除,若条件数据较多,如in方式的则使用post
post提交
一般用于新增和更新
一般使用pojo去接收传进来的数据,
若需要一个 <Pojo 的对象,可以在原pojo上添加 @Builder 注解,通过建造者模式链式构建对象来处理
若需要一个 >Pojo 的对象,3种处理方式
通过map的方式去接收 添加注解 (@RequestBody表示处理post提交的body);
新建个 PojoVo类来装请求数据(新增一个 Pojo扩容类);
直接对原来的Pojo扩容其它使用原pojo的则使用建造者模式链式构建对象(不推荐);
两者优缺点
网上的举例
tcp类比汽车,http类比交通规则,而GET、POST则为服务级别;GET请求为 货物需放在车顶上(url)方便记录,且贴上Get标签(method为GET);POST请求为 货物放在箱体(Body)中,且贴上Post标签(method为POST);也有GET请求在箱体内偷偷放东西的,也有POST请求放一些货物放在车顶的;由于符合交通规则,GET也可以在车顶无限放货物;浏览器和 ...
gateway配置
介绍gateway位于客户端与服务端之间,作为两者的中间层,可以实现监控、认证等功能
实现方式主要是通过过滤器对请求进行过滤然后实现 添加的 功能,最后转发路由到其它微服务
注:gateway存在很多的内置过滤器,下面只举例对path的过滤器
添加依赖1234<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId></dependency>
xml配置方式123456789101112spring: cloud: gateway: routes: #可任意定义,不能重复,route的id - id: routeid #要跳转的路径 uri: https://simplemw.gitee.io/blog/ #断言 返回的是t ...
正则表达式
元字符
元字符
说明
^
匹配字符串的开始
$
匹配字符串的结束
.
匹配除换行符以外的任意字符
\b
匹配单词的开始和结束
\w
匹配字母或数字或下划线或汉字
\s
匹配任意空白字符
\d
匹配一个数字,等价于 [0-9]
\B
匹配不是单词开头和结束的位置
\W
匹配不是字母或数字或下划线或汉字
\S
匹配不是空白字符
\D
匹配不是数字
重复限定符
语法
说明
*
重复0次或更多次
+
重复1次或更多次
?
重复0次或1次
{n}
重复n次
{n,}
重复n次或更多次
{n,m}
重复n到m次
[]表示区间 此处的^为非的意思
如[0-9]表示匹配0到9中的数字
如[a-z]表示匹配a到z中的小写字母
如[A-Z]表示匹配A到Z中的大写字母
如[^0-9]表示匹配不为0到9中的字符
如[^a-z]表示匹配不为a到z中的字符
如[^A-Z]表示匹配不为A到Z中的字符
|表示或者 java运算符用法
()表示分组 四则运算用法
断言后续补充
借鉴于 https://www.zhi ...
lombok注解
lombok常见注解pojo中作用
@Getter/@Setter生成所有成员变量的get、set方法
@ToStringtoString()方法 of属性限定显示,exclude属性排除
@NonNull用于判断成员变量标识是否为空,为空抛出空指针异常
@NoArgsConstructor生成无参构造器
@RequiredArgsConstructor生成包含final和@NonNull注解的成员变量的构造器
@AllArgsConstructor生成全参构造器
@Data作用于类上,@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor的集合
@log生成日志变量
@Builder将类转变为建造者模式,然后可以通过链式风格来创建对象
@Cleanup修饰对象,自动关闭资源,如io流的Stream
@SneakyThrowsjava中一些可能出现异常的地方,编译器会自动让你处理,trycatch或者trow,加上该注解即可骗过编译器,实际不会抛出异常
Eureka配置
场景:将开发的springboot项目配置到注册中心中
Eureka 注册中心组件分为两部分 Eureka Server 和 Eureka Client
Eureka Client负责将每个微服务注册到 Eureka Server中去
结构分为两部分 配置中心服务端(Eureka server),配置中心客户端(Eureka Client)
配置中心服务端即为要配置到的配置中心
配置中心客户端即为开发的springboot项目
配置中心服务端(Eureka server)
核心依赖
12345678910<!-- eureka-server注解 --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><!-- 配置中心自动刷新,注册中心是监听客 ...