首页 > 编程知识 正文

Springboot注解,java注解

时间:2023-05-04 17:15:29 阅读:144269 作者:1438

晚上睡不着觉看自定义评论,记录学习过程

见https://blog.csdn.net/QQ _ 37435078/article/details/90523309

自定义注释其实是使用springAop实现的()

试图创建自定义注释并将注释值输出到控制台

实现步骤如下

开始

1 .定义评论类

2 .定义用于“实现”此注释的java类(类似于接口和实现类) )。

3 .定义用于测试注释的控制器、服务和实体

结束

将注释代码定义如下

@ documented @ retention (retention policy.runtime ) target ) elementtype.method ) public @ interfaces log { string value } @Retention :注释的生命周期表示注释将保留在哪个阶段,并允许您选择编译阶段、类加载阶段或运行阶段@Target :注释工作的位置。 ElementType.METHOD表示只有在将注释应用于方法后才能工作

@ restcontrollerpublicclassusercontroller (@ slog )“我是日志”) request mapping (“user”) public void TestAspect ) }

定义注释切片类

请注意,必须将jar包添加到名为@Aspect的注释中。 也就是说,必须向pom文件中添加依赖关系。 如下所示。

ependencygroupidorg.spring framework.boot/groupidartifactidspring-boot-starter-AOP/artifactidscopetest/scope/可以在groupidartifactidaspectjweaver/artifact id/dependency之后正常添加。

@ component @ aspectpublicclassslogaspect { @ pointcut (' @ annotation (com.example.demo.annotation.slog ) ) } } privaation @annotation(logger ) ) publicvoidadvice ) joinpointjoinpoint,Slog logger ) ) system.out.println logger }

其中,@Pointcut注释用于定义切口,即切入标记有Slog注释的方法

@Before的pointcut ) )在该切口执行前后(前、后、包装等)进行逻辑处理,在@annotation ) logger )中自定义注释对象赋予的值,即@Slog

然后,重新启动项目(添加注释或修改注释实现,然后必须重新启动才能使注释生效)。

可以查看控制台上输出的日志

2020-12-2802336034336031.601 info 3520---[ nio-8080-exec-1 ] o.a.c.c.[ Tomcat ].[ localhost ].[

2020-12-2802336034336031.602 info 3520---[ nio-8080-exec-1 ] o.s.web.servlet.dispatcher servlet 3360 inititition

2020-12-2802336034336031.602 info 3520---[ nio-8080-exec-1 ] o.s.web.servlet.dispatcher servlet 3360 compler

我是日志

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。