springboot使用AOP和自定义注解实现日志由于有些伙伴对java中的注解还不是很了解,可以参考java的元注解,有了解的小伙伴可以直接调过。java4大元注解:在java中使用注解要实现自定义的功能需要使用反射在程序与运行时动态的读取注解,在springboot中提供了注解的工具类AnnotatedElementUtils,在springboot中一般使用该工具类来读取注解,如果直接使用反
1.拦截器识别请求头token,token在登录时已经存入账号信息 2.利用token访问方法时,可以利用token获取访问者的身份信息等 3.在需要记录日志的方法上标记@Log 使此方法记录并入库上代码 maven:<dependency> <groupId>org.springframework.boot</groupId>
转载 2024-04-04 20:37:03
128阅读
Springboot项目有几种日志框架,默认是使用Logback日志框架,但我喜欢用Log4j2日志框架,因为Log4j2.性能较强,扩展性强,可自定义level,支持kafka4,数据稳定默认输出日志格式如下图我使用log4j2日志框架后的日志输出格式如下图下面是使用log4j2日志框架设置日志输出格式的步骤1、pom.xml文件中添加log4j2依赖,并排除掉spring默认的logback日
其实,小哈在之前就出过一篇关于如何使用 AOP 切面统一打印请求日志的文章,那为什么还要再出一篇呢?没东西写了?哈哈,当然不是!原因是当时的实现方案还是存在缺陷的,原因如下:不够灵活,由于是以所有 Controller 方法中的方法为切面,也就是说切死了,如果说我们不想让某个接口打印出入参日志,就办不到了;Controller 包层级过深时,导致很多包下的接口切不到;今天主要说说如何通过自定义注解
一首先需要定义一个注解的interface,也就是我们自定义注解的注解名,同时也要定义里面的内部参数package com.common.log.vo; import java.lang.annotation.*; @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented public @inter
文章目录 前言准备阶段1、数据库日志表2、自定义注解编写3、AOP切面类编写4、测试5、结束语 前言首先我们看下传统记录日志的方式是什么样的:@DeleteMapping("/deleteUserById/{userId}") public JSONResult deleteUserById(@PathVariable("userId") Long userId){ //调用Servic
   有这么一个需求:记录controller的请求参数和响应结果到日志中。   解决思路:写一个自定义注解,在需要记录的controller的方法上,加上该注解,通过注解来记录相关信息。   解决方式:使用AOP来解决,通过返回通知来获取返回结果信息。   解决步骤:1、在pom.xml中引入AOP的依赖<de
创建自定义注解接口package com.example.lambda.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotatio
利用SpringBoot中的自定义注解加上AOP就可以轻松的帮助我们实现一些特定的功能1、创建一个自己定义的注解1、首先需要定义一个注解的interface,也就是我们自定义注解的注解名,同时也要定义里面的内部参数。@Documented @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interfac
转载 2024-02-20 17:20:28
76阅读
概述默认情况下,SpringBoot内部使用logback作为系统日志实现的框架,将日志输出到控制台,不会写到日志文件。如果在application.properties或application.yml配置,这样只能配置简单的场景,保存路径、日志格式等。复杂的场景(区分 info 和 error 的日志、每天产生一个日志文件等)满足不了,只能自定义配置文件logback-spring.xml或者l
原创 精选 2022-10-06 16:33:11
1618阅读
前言      在之前的日志记录的写法中,我们大多是写一个工具类,在这个类里面定义日志保存的方法,然后再controller中执行请求的时候调用即可,虽然调用仅仅一行代码,但是不够友好;所有可以写一个类似于@Controller等的注解,在需要保存日志的方法上面加上一个注解,这样不用在每个都写一端代码;话不多说上代码     1、首先一个
转载 2023-08-31 10:07:27
378阅读
application.properties配置:logging.config=classpath:logback-spring.xml logging.path=C:/opt/logs/logback-spring.xml配置<?xml version="1.0" encoding="UTF-8"?> <!-- 日志级别从低到高分为TRACE < DEBUG < I
转载 2024-06-20 12:38:40
35阅读
目录一、介绍 二、命名三、作用:四、自定义starter1. 要求2. 步骤(1)新建Spring Boot项目,命名starter(2)编写HelloProperties(3)编写服务HelloService(4)编写自动配置类HelloWorldAutoConfiguration(5)spring.factories配上自动配置的路径(6)执行maven命令:maven clean
转载 2024-01-08 16:45:58
31阅读
目录一、自定义starter1.1 案例:统计独立IP访问次数1.2 自定义starter二、核心原理2.1 SpringBoot启动流程一、自定义starter1.1 案例:统计独立IP访问次数  1.2 自定义starter业务功能开发自动配置类配置模拟调用 开启定时任务功能设置定时任务定义属性类,加载对应属性设置加载Properties类为bean根据配置切换设
转载 2024-02-22 20:10:18
46阅读
springboot应用中添加servletspringboot的主servlet是DispacherServlet,它默认的url-pattern是“/”,如果我们还需要其他的servlet就需要开发人员自己进行定义和注册代码注册通过ServletRegistrationBean获得控制注解注册(1) 在启动类上标注@ServletComponentScan (2) 在自定义的servlet类
转载 2024-03-21 13:35:27
118阅读
spring boot 中有很多的start 比如 mybatis-spring-boot-starter ,就可以引入mybatis 的依赖,其实我们可以构建自己的start本文代码地址链接:https://pan.baidu.com/s/1ACSxwvf-lkDAcE9QB5jyww 提取码:5hfy 文章目录sring boot start 分析实现自己的start1. 编写属性类2. 编写
转载 2024-03-23 20:52:38
85阅读
目录@Validated跟@Valid的区别实际生产应用ConstraintViolationException和 MethodArgumentNotValidException异常@Validated跟@Valid的区别    在使用前先了解下@Validated跟@Valid的区别,我们点开注解就能看出两者的不同// Target代表这个注解能使用在类/接口/枚举上,方法上
转载 2024-04-16 15:44:01
84阅读
SpringBoot对比SpringMVC最大的优点就是实现了约定大于配置 SpringMVC:通过<Bean>的方式来配置各种配置类 SpringBoot:通过@Configuration+@Bean的方式来配置配置类 问题:只不过是换了一种写法,怎么就约定大于配置了呢,Boot为什么就比MVC减少了配置呢 首先SpringBoo
转载 2024-04-01 00:07:21
41阅读
目录一、springboot启动器主要组成部分1.启动器模块2.自动配置模块3. 注解二、创建自定义启动器1.创建springboot工程,负责对公用功能的封装2. 创建拦截器CustomHandlerInterceptor3. 添加拦截器MyWebMvcConfigurer4. 创建配置类ServerConfig5. 创建template类6. 创建CustomStarterRun类,将tem
转载 2024-04-19 12:35:21
134阅读
Spring Boot之自定义Starter一、开发自定义Starter添加依赖定义服务类自动配置条件依赖定义spring.factories定义自动配置类二、使用自定义Starter安装Starter到本地仓库导入自定义starter测试三、自定义多数据源Starter创建DataSourceProperties配置类创建DataSourceAutoConfiguration配置类定义spri
转载 2024-02-20 16:54:07
130阅读
  • 1
  • 2
  • 3
  • 4
  • 5