![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
我的学习
文章平均质量分 57
个人工作学习
你是猪,
这个作者很懒,什么都没留下…
展开
-
log日志等级与配置
总共有7等级:OFF 、FATAL 、ERROR、WARN、INFO、DEBUG、TRACE 、ALL1.OFF 为最高等级 关闭了日志信息2.FATAL 为可能导致应用中止的严重事件错误3.ERROR 为严重错误 主要是程序的错误4.WARN 为一般警告,比如session丢失5.INFO 为一般要显示的信息,比如登录登出6.DEBUG 为程序的调试信息7.TRACE 为比DEBUG更细粒度的事件信息8.ALL 为最低等级,将打开所有级别的日志输出的规则是,大于等于当前设置的日志等级的才原创 2022-07-04 16:24:18 · 7479 阅读 · 0 评论 -
springboot的事务处理,ApplicationEvent的应用
文章目录1.ApplicationEvent的应用2.ApplicationEvent的使用2.1基础ApplicationEvent2.2监听器的使用1.ApplicationEvent的应用在springboot项目中,ApplicationEvent的应用会和切面AOP相结合,做一些本身功能以外的事务处理,例如数据同步,在自己系统中,新建只需要将自己的数据插入数据库,而同步数据到另一个系统中就是额外的事务,还能做一些操作验证的事务。最关键是,当一个事件发布(注册),可以被多个监听器监听,执行事务逻原创 2022-05-25 19:56:48 · 1426 阅读 · 0 评论 -
springboot启动类分离,可以扫描其他包的类注入容器
文章目录1.springboot启动扫描包机制2.如何扫描到其他包2.1手动增加扫描包2.2扫描包配置类2.3在需要扫描的包配置3.分离启动类扫描包机制3.1将启动类单独作为一个包3.2启动配置3.3 注意路径3.4 这样子做的好处1.springboot启动扫描包机制从启动类所在包开始,扫描当前包及其子级包下的所有文件。也就是说你的启动类在哪一层决定着你扫描的类文件多少。这个可以从注解SpringBootApplication中的默认值看到:其中圈出部分是自己手动指定扫描包路径,如果没有,按照启动原创 2022-05-19 16:09:35 · 2928 阅读 · 0 评论 -
树形数据结构构造工具
树形数据结构的用途树形数据结构需要在原创 2022-04-16 17:25:02 · 834 阅读 · 0 评论 -
字符串中空格的坑
空格的类型编码32的空格,就是我正常输入的中英文空格,数据库里的空格一般也是这个。网页上的NBSP空格,这是编码格式为-62,-96,感觉应该是和网页上的空格有关,也可能和编码方式有关。错误记录:在查询数据库时候,你会发现两个字符串一模一样,但是匹配不到,自然你也就查询不出数据在字符串使用NBSP空格时候,查询结果用sql语句查询也是一样的结果,正常空格的查询结果:就能够查询出来问题解决一开始以为是匹配的语句也错了,但是发现并没有错,就把客户发来的数据拿去数据查询,一查吓一跳原创 2022-03-29 17:47:45 · 1136 阅读 · 0 评论 -
spring boot自定义错误返回
封装的必要性在日常的开发中,需要将所以反馈给前端,让客户知道错误信息是什么,例如密码错误,用户不存在等等信息,如果使用系统的报错信息返回给前端,要是数据库出错的话,那就一串sql语句给前端了,所以封装错误信息返回还是很有必要的。封装过程错误信息类,一般就两个属性,code和message,可能还会有出错时间errorTime,需要的可以添加上去。public class ErrorMessage { private int code; private String message原创 2022-02-20 19:31:20 · 1078 阅读 · 0 评论 -
springboot项目统一后端数据返回格式
spring boot自带的ResponseEntityResponseEntity是springboot自带的返回格式封装类,使用起来也简单,和我们平时自己封装的差不多,大概的使用如下:自己封装类和spring boot自带的类似,返回的无非就是data,code,message,其中data是个泛型,可以存放各种数据类型。封装类如下:Datapublic class ResultData<T> { /** 结果状态 ,具体状态码参见ResultData.java*原创 2022-02-20 15:18:04 · 1096 阅读 · 0 评论 -
knife4j-swagger封装配置,注解使用knife4j
knife4j-swagger相对于swagger-ui更加的美观,相信大家看到这个界面也就更加肯定我的想法了,比原生的swagger厉害的多了,出了不能进行文档上传接口测试。大家可以去官网进行学习哈。knife4j的使用maven引入 <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-原创 2022-02-16 21:11:39 · 2909 阅读 · 6 评论 -
在静态方法中使用@Autowired注入的类
常见错误使用方式变成静态的在静态方法里直接使用:如图错误:直接会为空,借用一段网上不错的解释:针对static静态成员,我们有一些最基本的常识:静态变量(成员)它是属于类的,而非属于实例对象的属性;同样的静态方法也是属于类的,普通方法(实例方法)才属于对象。而Spring容器管理的都是实例对象,包括它的@Autowired依赖注入的均是容器内的对象实例,所以对于static成员是不能直接使用@Autowired注入的。...原创 2022-02-09 15:03:47 · 3684 阅读 · 0 评论 -
springboot的切面应用(注解Aspect )
spring boot 拦截的方式过滤器filter:可以获取http、http请求和响应,但无法获取与spring框架相关的信息,如哪个control处理,哪个方法处理,有哪些参数,这些都是无法获取的。主要用于内容上的过滤,敏感字替换成*等,也可用于非登入状态的非法请求过滤。拦截器interceptor:除了获取http、http请求和响应对象,还可以获取请求的类名、方法名,但拦截器无法获取请求参数的值,从DispatcherServlet类源码分析。主要用于对公共的一些拦截获取,例如请求原创 2022-01-24 11:55:04 · 5685 阅读 · 0 评论 -
java生成二维码
1,该文中的部分代码来自gitee上的开源项目,我只是整理了一下,使其更加规范且通用。1.1首先引入对应的工具包。 <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.3</version> </dependency&g原创 2022-01-17 21:37:26 · 14443 阅读 · 10 评论 -
常用的json处理工具类
json工具的使用说明在日常的开发中,经常会对json字符串进行处理,最常见的操作为序列化和反序列化,而当后端的开发使用的是spring boot框架时,在前后端进行交互时,是会自动的序列化和反序列化,但当我们遇到自己需要处理的json字符串时,json工具必不可少的。1.已有工具,在广大开发中常用的时alibaba的fastJson和hutool工具包里的json处理工具类,进本身一系列的转化都不需要我们写什么处理代码,但是问题在于,spring boot自身使用的序列化是jackson,与前两者有一原创 2022-01-17 21:21:30 · 1879 阅读 · 0 评论 -
开发小技巧
开发小技巧在进行返回值处理时,经常需要以下代码逻辑。如果为空,需要new一个对象来返回,避免空指针的错误。if (CollectionUtils.isEmpty(list)){ return new ArrayList<>(); }//换成下面的写法 return Optional.ofNullable(list).orElse(new ArrayList<>());流的打开和关闭,经常使用到try{}catch{}finia原创 2021-11-20 15:23:23 · 384 阅读 · 0 评论 -
集合的坑啦啦啦
集合的坑在集合的操作里,当list进行转map操作时候,list里保存的是对象,可能会遇到的错误。1、key重复,这是最普遍的错误,如下示例:List<User> userList = new ArrayList<>(); userList.add(new User().setId(1234L)); userList.add(new User().setId(1234L)); Map<Long, User> userMap = userList.str原创 2021-10-25 11:09:40 · 224 阅读 · 0 评论 -
注解FeignClient的规范使用
首先是对FeignClient里的常用属性 1. contextId ,当有多个服务调用方法不想写在一个接口里,就要使用到 2. name:指定FeignClient的名称,如果项目使用了Ribbon,name属性会作为微服务的名称,用于服务发现 3. url: url一般用于调试,可以手动指定@FeignClient调用的地址 4. fallback: 定义容错的处理类,当调用远程接口失败或超时时,会调用对应接口的容错逻辑,fallback指定的类必须实现 @Feign原创 2021-09-30 11:42:57 · 7122 阅读 · 0 评论 -
集合的交集和差集优化(代码层面)
正常的集合取交集操作如下代码示例:public class Test { public static void main(String[] args) { //自定义的对象,Dept部门实体类 List<Dept> deptList1 = new ArrayList<Dept>(); deptList1.add(new Dept(190,"销售部","learn")); deptList1.add(ne原创 2021-09-22 10:27:04 · 186 阅读 · 0 评论