需求背景最近的一个项目,在项目基本完工的阶段,客户提出要将所有业务操作的日志记录到数据库中,并且要提取一些业务的关键信息(比如交易单号)体现在日志中。为了保证工期,在查阅了资料以后,决定用AOP+自定义注解的方式来完成这个需求。准备工作自定义注解需要依赖的jar包有 aspectjrt-XXX.jar ,aspectjweaver-XXX.jar,XXX代表版本号。自定义注解在项目下单独建立了一个            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-22 19:32:45
                            
                                64阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            第一步定义两个注解:SystemControllerLog.javapackage com.annotation;    
    
import java.lang.annotation.*;    
    
/**  
 *自定义注解 拦截Controller  
 */    
    
@Target({ElementType.PARAMETER, ElementType.METHOD}            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-22 14:37:40
                            
                                73阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            自定义 aop
AspectJ 应该算的上是 Java 生态系统中最完整的 AOP 框架了。
Spring AOP 和 AspectJ AOP 有什么区别?
Spring AOP 属于运行时增强,而 AspectJ 是编译时增强。 Spring AOP 基于代理(Proxying),而 AspectJ 基于字节码操作(Bytecode Manipulation)。
Spring AOP 已经集            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-04-11 23:22:09
                            
                                441阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、自定义注解一、自定义注解的配置如果是用的配置文件需要在配置文件中添加配置:<aop:aspectj-autoproxy/>如果是使用类进行初始化加载需要在类的上面添加注解@EnableAspectJAutoProxy二、自定义注解的约束<dependency>
	 <groupId>org.springframework</groupId>            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-16 21:41:39
                            
                                110阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                         
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-01-17 14:03:00
                            
                                206阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            本文抛砖引玉,并没有详细的介绍更全面的内容,通过一个例子让初次使用的人能够快速入门,简单的介绍一下。第            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-04 14:01:33
                            
                                72阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.自定义的DispatcherServlet,就是SpringMvc运行加载类/***
 * 手写SpringMvc框架<br>
 * 思路:<br>
 * 1.手动创建一个DispatcherServlet 拦截项目的所有请求 SpringMvc 基于servlet实现<br>
 * 2.extends HttpHttpServlet 重写init 方法&l            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-17 20:51:12
                            
                                62阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            写在前面本文使用JAVA类库完成一个迷你版的springmvc框架,旨在深入理解springmvc的内部实现原理。目录结构自定义注解元注解:就是注解的注解@Retention@Retention(RetentionPolicy.SOURCE)   //注解仅存在于源码中,在class字节码文件中不包含
@Retention(RetentionPolicy.CLASS)     // 默认的保留策略            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-22 13:41:21
                            
                                106阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言前些天,在项目实践过程中出现了一个奇怪的状况,Spring Boot的参数绑定失效了。而起因只是因为同事把参数上的@RequestParam注解去掉了。我们都知道,如果参数名称和Controller的方法名相同时,根本不需要@RequestParam注解的,Spring Boot会自动帮我们完成参数的绑定。但为什么自动绑定机制失效了呢?本篇文章会为大家揭开谜底,在此过程中也会全面讲解如何在Sp            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-20 08:59:50
                            
                                66阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            环境MacBook Pro Java:1.8 gradle:5.5.1前言公司封装了一个@slf4j,用于日志打印; 最近研究了下这个注解,了解到了AST,抽象树这个概念; 明白了lombok这样的插件也是利用这个技术来实现的; 在研究过程中,被下面这个错卡了很久:错误: 程序包com.sun.source.tree不存在
import com.sun.source.tree.Tree; 特意记录            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-30 08:02:46
                            
                                31阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            https://www.cnblogs.com/yingsong/p/8508700.html 1. 自定义一个注解 @Documented //文档生成时,该注解将被包含在javadoc中,可去掉 @Target(ElementType.METHOD)//目标是方法 @Retention(Rete            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-01-15 07:14:00
                            
                                100阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            https://www.cnblogs.com/yingsong/p/8508700.html 1. 自定义一个注解 @Documented //文档生成时,该注解将被包含在javadoc中,可去掉 @Target(ElementType.METHOD)//目标是方法 @Retention(Rete            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-04-21 13:30:00
                            
                                267阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            注意:在SpringMVC配置文件中要能够扫描到视图所在的包(context:component-scan)。自定义视图要实现view接口或继承AbstractView抽象类,并加入到IOC容器中(注意:定义的视图类要声明注解@Component)package com.hello.view;import org.springframework.stereotype.Componen...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-02 16:08:25
                            
                                122阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            注意:在SpringMVC配置文件中要能够扫描到视图所在的包(context:component-scan)。自定义视图要实现view接口或继承AbstractView抽象类,并加入到IOC容器中(注意:定义的视图类要声明注解@Component)package com.hello.view;import org.springframework.stereotype.Componen...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-07 08:32:58
                            
                                302阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            springmvc学习笔记(10)-springmvc注解开发之商品修改功能标签: springmvc springmvc学习笔记10-springmvc注解开发之商品修改功能需求开发mapper开发service开发controllerRequestMappingcontroller方法的返回值 本文以商品修改为例,记录springmvc的注解开发,包括mapper,service,contro            
                
         
            
            
            
            ViewResolver作用:根据viewName找到view对象SpringMVC用于处理视图最重要的两个接口是ViewResolver和View。ViewResolver的主要作用是把一个逻辑上的视图名称解析为一个真正的视图,SpringMVC中用于把View对象呈现给客户端的是View对象本身,而ViewResolver只是把逻辑视图名称解析为对象的View对象。View接口的主要作用是用于            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-08 12:32:21
                            
                                33阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            最近线上接口受到白帽子攻击,由于后端接口没有严格地进行参数校验,从而导致了系统程序异常和线上脏数据的问题。为了项目中参数校验方式的统一,因此在项目中引入了spring-validation。本文主要介绍spring-validation在项目中最佳实践方案,希望能帮助大家很快很好的使用spring-validation。实体命名方式推荐在Spring项目组中,会存在有很多实体类,良好的命名方式能十            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-25 12:55:12
                            
                                70阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            mini版自定义SpringMVC框架及实现自定义springmvc 框架的实现其实就是自定义DispatcherServle类 有以下几个步骤:1、加载配置文件 springmvc.properties2、扫描相关类 扫描注解3、初始化bean对象 实现ioc容器 基于注解4、实现依赖注入5、构造HandlerMapping 处理器映射器 将配置好的url和method建立映射关系6、配置web            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-28 10:23:34
                            
                                32阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            问题描述有时候我们在接口方法中配置了@Transactional的注解,但实际使用时却遇到@Transactional注解失效的问题,我们在这里选取一个比较隐秘的细节问题来剖析失效问题。问题原因分析注解@Transactional的底层实现是Spring AOP技术,而Spring AOP技术使用的是动态代理,这就意味着对于静态(static)方法和非public方法,注解@Transaction            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-02 12:33:06
                            
                                39阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录 迭代中遇到的问题处理aop 及spring aop原理介绍spring aop自动代理注解实例spring aop源码--ProxyFactory分析spring aop源码--JDK动态代理分析spring aop源码--cglib动态代理分析迭代中遇到的问题处理 问题:用自动代理注解配置拦截了PlanService类的方法testAopFace,方法testAopFa            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-17 22:03:38
                            
                                34阅读
                            
                                                                             
                 
                
                                
                    