網站首頁 編程語言 正文
首先需要導入以下依賴
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>6.0.6</version>
</dependency>
<!-- spring核心 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
進行Spring配置類的聲明
@ComponentScan 用于對文件中bean的掃描,類似于將bean加載到容器當中。
@Configuration用于聲明這是一個配置類
@ComponentScan(value = "com.mingyu")用來掃描加載bean
@EnableAspectJAutoProxy用來開啟我們的AOP注解,用于啟動Spring AOP 的功能。
package com.mingyu.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
@ComponentScan(value = "com.mingyu")
@Configuration
//用于開啟AOP注解
@EnableAspectJAutoProxy
public class springConfig {
}
這是我們的功能增強類
@Aspect用于聲明這個類是用于功能拓展的
@Pointcut()用于定義切點,即要對哪個函數進行功能增強。
package com.mingyu.aspect;
import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
@Component
//用于定義一個切面(說明這個類是用于功能拓展的)
@Aspect
public class aspect {
@Pointcut("execution(* com.mingyu.dao.*.*(..))" )
public void blank(){}
@Before("blank()")
public void start(){
System.out.println("before執行");
}
@After("blank()")
public void after(){
System.out.println("after執行");
}
}
最后進行測試
import com.mingyu.aspect.aspect;
import com.mingyu.config.springConfig;
import com.mingyu.dao.studentDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(springConfig.class);
studentDao sd = (studentDao) context.getBean("student");
sd.study();
sd.save();
}
}
原文鏈接:https://blog.csdn.net/m0_72903413/article/details/140367661
- 上一篇:沒有了
- 下一篇:沒有了
相關推薦
- 2022-10-05 python?slack桌面自動化開發工具_python
- 2023-07-22 macos使用idea進行配置找不到隱藏目錄(/usr/local/)
- 2022-02-25 Oracle函數使索引列失效的解決辦法_oracle
- 2022-08-27 深入理解Redis內存淘汰策略_Redis
- 2022-06-18 Android自定義雙向滑動控件_Android
- 2022-09-20 C#單線程和多線程端口掃描器詳解_C#教程
- 2023-10-17 My-form組件,基于element傳參展示用于后臺管理篩選的表單框
- 2022-07-10 axios調用接口報錯
- 欄目分類
-
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支