![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础
文章平均质量分 56
记录学习日常
这个作者很懒,什么都没留下…
展开
-
springboot配置多个数据源
在配置多个数据源的时候通常连接方式配置在配置文件中,程序可以通过@Value读取配置,也可通过@ConfigurationProperties读取,分别记录一下。原创 2023-08-31 11:33:00 · 269 阅读 · 0 评论 -
java加载本地配置文件的方式盘点(spring的除外)
在做项目时,时常会遇到很多配置文件需要加载,加载方式取决于项目架构,采用的什么技术,或者引入了什么架包就有相对应的加载方式,这里我采用的是或者。原创 2023-07-24 16:14:31 · 947 阅读 · 0 评论 -
jenkins 升级遇到问题总结
在线升级jenkins原创 2022-12-27 16:31:39 · 1023 阅读 · 0 评论 -
oracle和mysql查询所有表的注释和字段注释
一键查询表名+注释,字段名+注释原创 2022-12-14 18:00:38 · 360 阅读 · 0 评论 -
使用并行流的注意事项
parallelStream使用原创 2022-11-30 11:42:08 · 416 阅读 · 0 评论 -
雪花算法使用
什么是雪花算法 雪花算法是Twitter公司发明的一种算法,主要目的是解决在分布式环境下,ID怎样生成的问题其核心是生成一个64bit位的long型整数,既引用了时间戳保持递增,又增加机器id示例图:第一个部分,是 1 个 bit:0,这个是无意义的,0是正数。 第二个部分是 41 个 bit:表示的是时间戳。 第三个部分是10个bit,其中 5 个 bit:表示的是机房 id,10001。5 个 bit:表示的是机器 id,11001。 第四个部分是 12 个 bit:...原创 2022-02-24 14:57:28 · 1774 阅读 · 0 评论 -
cookie的简单使用
cookie的使用一般用来携带用户信息做身份验证,这里做一些简单的使用cookie,不结合业务,如下:这里没有做cookie的加密处理,一般设置cookie的时候需要加密,加密规则如md5,base64等等。public class CookieUtils { /** * 获取cookie集合 * @param request * @return */ public static Cookie[] getCookies(HttpServl...原创 2021-09-29 11:10:03 · 256 阅读 · 0 评论 -
spring和springboot中对应监听器、过滤器、拦截器的使用区别
搞明白监听器、过滤器、拦截器的作用和使用方式,首先需要了解spring对于这三个的加载时机是在怎么样的,如下图: spring对于这三者依次是先执行过滤器(多个过滤器采用责任链模式依次调用执行),紧接着是监听器,最后才是拦截器。 而这三者的作用: 过滤器(Filter):当你有一堆东西的时候,你只希望选择符合你要求的某一些东西。定义这些要求的工具,就是过滤器。(不更改对象的行为和属性)监听器(Listen...原创 2021-09-28 20:00:35 · 848 阅读 · 2 评论 -
@ControllerAdvice+@ExceptionHandler处理全局异常
遇到异常时处理,可以使用@controlleradvice加上@exceptionhandler处理,@controller声明此类处理全局性的东西@exceptionhandler标注在方法上,声明不同的异常类处理逻辑示例:测试输出看到输出信息中只有数组下标越界异常信息,没有全局通用异常信息,可以得出结论,子类异常的优先级比父类高,如果没有具体的异常处理,则走父类的异常处理逻辑,否则走当前异常的处理逻辑,同时存在的不执行父类异常...原创 2021-09-06 20:15:28 · 202 阅读 · 0 评论 -
spring切面-AOP见解
对于aop的理解是对业务代码的增强,比如,记录日志,事务控制,异常处理等等,aop是采用动态代理实现的一种技术,也可以启动降低代码的耦合的作用。aop具体的概念不做解释,切点,切面这些都可以查到,这里只做代码的实现切入点表达式execution/** * execution表达式-切入点表达式: * 语法:execution(修饰符 返回值 包.类.方法名(参数) throws异常) * 修饰符:一般省略不写, * 示例: public 公共方法原创 2021-09-06 16:52:37 · 178 阅读 · 0 评论 -
http介绍
http概念Http:超文本传输协议,也是现在网络中最常用的一种协议,当用户打开浏览器(客户端),输入url,通过http协议向url地址请求数据并返回(服务器),这里http就是桥梁,用来客户端与服务器之间通信的。如下图:http的封装与传输图解我们用 HTTP 举例来说明:首先作为发送端的客户端在应用层 (HTTP 协议)发出一个想看某个 Web 页面的 HTTP 请求。 接着,为了传输方便,在传输层(TCP 协议)把从应用层处收到的数据(HTTP 请求报文)进行分割,..原创 2021-08-14 16:04:51 · 225 阅读 · 0 评论 -
【索引创建原则+索引失效情况+常见的sql优化策略】
索引的创建原则什么情况下适合创建索引:where子句频繁使用的列上 经常用来排序的列 分组经常使用的列(group by xx) 查询经常使用的列,可以建立索引提供查询效率 小表上不要建立索引(表中的数据太少) 多表连接时,在连接条件列上建立索引 表的主键、外键最好建立索引 索引字段类型选择尽可能小,字段类型大的不要建立索引,如oracle中的blob 修改频繁的字段,不要建立索引等等索引失效情况什么情况下索引会失效:sql中使用in或者not in,会导致全表扫描,索引失原创 2021-08-12 17:29:51 · 163 阅读 · 0 评论 -
【sql中的having能否单独使用】
having的用途跟where的用途类似,都可用作结果的过滤,其中having的功能比where强大一点,having后可以跟聚合函数,而where不可以。having能否单独使用:经过测试是跟数据库有关系,测试了常用的三个数据库,结果是Oracle和postgresql不能,mysql可以mysqloracle 和postgresql...原创 2021-08-11 14:03:17 · 2940 阅读 · 1 评论 -
Linux运行jar&查看日志
将打包好的jar上传到Linux指定位置,(打包方式maven项目可以通过maven install构建)查看jar是否已经启动:上传的 oa的jar并没有启动通过nohup的命令启动jarnohup java -jar xx-oa-1.0.0-SNAPSHOT.jar &查看日志文件命令:tail -fn 200 nohup.out :循实时查看尾部200行的日志(最常用)head -n 200 nohup.out:从头部查看200行日志,不怎.....原创 2021-08-10 16:25:49 · 20584 阅读 · 0 评论 -
【springboot+dubbo+zookeeper】编写provider和consumer详解
前提:zookeeper作为注册中心是已经启动了,而且端口已经放行项目结构服务提供者和消费者,导入的pom依赖一致 <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version&.原创 2021-08-07 15:08:07 · 371 阅读 · 0 评论 -
【mybatis代码生成器】mybatis-generator的xml方式使用
我的使用时通过配置文件的方式使用的,这种方式看起来直观,但是不灵活,而且不能生成service和controller层代码,想要生成service和controller层还是写代码自定义模板生成。mybatis-generator的官方地址:http://mybatis.org/generator/具体的使用方式,常用标签标注出来了,具体的查阅文档使用步骤:pom中添加插件,设置数据库驱动<build> <plugins> ...原创 2021-07-31 11:22:44 · 2079 阅读 · 0 评论 -
feign简化远程调用
没接触过feign之前,调用第三方接口都是通过httpclient,通过编写工具类实现,这种方式代码量很多,相比较feign调用来说特别繁琐,而feign简化底层http调用方式,通过feign.builder.target传入调用接口和地址即可完成调用吗,代码量相当少。httpClient方式httpclient工具类:package com.fh.oa.apply.util;import com.alibaba.fastjson.JSONObject;import lombok...原创 2021-07-27 20:43:43 · 617 阅读 · 0 评论 -
【Activity】绘制流程图方式(部署,启动不讨论)
activity绘制流程图大概有三种方式(可能还有其他的,我不知道,但这三种是最长用的)归结起来份两类: 第一类:利用开发工具插件绘制(eclipse、idea等) 第二类:activity自带的ActivitiModeler下面详细介绍第一类:开发工具插件绘制idea中安装插件(我的版本2020.2.3)在idea中安装插件actiBpm(新版本下载不到)如果搜索不到可在idea官网中搜索插件下载在官方插件商城中下载后本地安装...原创 2021-07-23 14:52:32 · 5898 阅读 · 6 评论 -
poi读取表格封装
public static Map<String, List<Map<String, Object>>> readExcelMultiSheet(InputStream in) throws InvalidFormatException, IOException { Workbook wb = WorkbookFactory.create(in); Map<String, List<Map<String, Object&.原创 2021-07-15 20:12:10 · 83 阅读 · 0 评论 -
Java判断空的方式
编写代码时总会有分支和判断,之前也一直判断null采用==或者equals之类的,其实还有很多方式可供采用,总结一下。常规操作if(null==jobInfo){ //省略}如果是字符串判断null.还可以使用equalsObjects工具类中equals方法 (1.7之后)源码:由源码分析可以看出,两个参数相等时返回true,不等时返回false,此时判断null可以写成这样if (Objects.equals("null",graduateTime))原创 2021-07-15 17:05:38 · 440 阅读 · 0 评论 -
vue的常用全局配置vue.config对象
Vue.config是一个对象,包含 Vue 的全局配置。可以在启动应用之前修改config中的属性截图取自官网silent属性接收一个boolean类型的值,默认false,当设置成true时,表示取消所有的日志和警告信息,一般保持默认不设置,有助于代码调试如:vue中使用不存在的变量没有使用silent就会报错使用了之后,即使没有定义,不会在控制台报错,一般不使用optionMergeStrategies属性父子组件间的自定义合并策略参照官网,...原创 2021-07-07 14:49:13 · 8217 阅读 · 0 评论 -
vue中两种形式代码
new Vue()是创建一个Vue模板实例,一般在main.js中创建挂载app.vue使用vue-cli创建的方式生成的是runtime方式的代码但其实,手动引入vue.js中使用new vue是可以使用另一种模板代码的方式去构建vue实例的runtime方式main.js中compiler模板代码方式这两种代码的方式是等价的,注意区分:注意:在runtime环境中使用compiler时的语法会报异常要想在runtime代码环境下使用compiler.原创 2021-07-07 11:26:48 · 102 阅读 · 0 评论 -
switch的表达式数据类型范围
JDK1.0 - 1.4 数据类型接受 byte short int charJDK1.5 数据类型接受 byte short int char enum(枚举)JDK1.7-至最新版 数据类型接受 byte short int char enum(枚举), String...原创 2021-05-17 09:18:48 · 282 阅读 · 0 评论