国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring——基于注解的AOP配置

這篇具有很好參考價值的文章主要介紹了Spring——基于注解的AOP配置。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

基于注解的AOP配置

1.創(chuàng)建工程

Spring——基于注解的AOP配置,Spring,spring

1.1.pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.wantong</groupId>
    <artifactId>Spring_AOP_Annotation</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!-- Spring常用依賴 -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.1.8.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>5.1.8.RELEASE</version>
        </dependency>
    </dependencies>
</project>

1.2.dao

@Repository
public class UserDaoImpl implements UserDao {

    @Override
    public void addUser(){
        System.out.println("insert into tb_user......");
    }
}

1.3.service

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserDao userDao;

    public void addUser() {
        userDao.addUser();
    }
}

1.4.applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        		http://www.springframework.org/schema/beans/spring-beans.xsd
        		http://www.springframework.org/schema/aop
        		http://www.springframework.org/schema/aop/spring-aop.xsd
        		http://www.springframework.org/schema/context
        		http://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="com.wantong"></context:component-scan>
</beans>

1.5.測試

/**
 * 模擬表現(xiàn)層
 */
public class Client {
    public static void main(String[] args) {
        ApplicationContext ac = 
            new ClassPathXmlApplicationContext("applicationContext.xml");
        //使用對象
        UserService userService = ac.getBean("userServiceImpl",UserService.class);
        userService.addUser();
    }
}

2.增強

2.1.applicationContext.xml

<!-- 開啟spring對注解AOP的支持 -->
<aop:aspectj-autoproxy/>

2.2.AOP配置

  1. 常用注解

    • @Aspect:把當前類聲明為切面類
    • @Before:前置通知,可以指定切入點表達式
    • @AfterReturning:后置【try】通知,可以指定切入點表達式
    • @AfterThrowing:異?!綾atch】通知,可以指定切入點表達式
    • @After:最終【finally】通知,可以指定切入點表達式
    • @Around:環(huán)繞通知,可以指定切入點表達式
  2. 注解方式實現(xiàn)aop

@Component
@Aspect
public class MyLogAdvice {

    //前置通知
    @Before("execution(* com.wantong.service.*.*(..))")
    public void before(){
        System.out.println("前置通知");
    }

    //后置通知【try】
    @AfterReturning("execution(* com.wantong.service.*.*(..))")
    public void afterReturning(){
        System.out.println("后置通知");
    }

    //異常通知【catch】
    @AfterThrowing("execution(* com.wantong.service.*.*(..))")
    public void afterThrowing(){
        System.out.println("異常通知");
    }

    //最終通知【finally】
    @After("execution(* com.wantong.service.*.*(..))")
    public void after(){
        System.out.println("最終通知");
    }

    //環(huán)繞通知
    @Around("execution(* com.wantong.service.*.*(..))")
    public void around(ProceedingJoinPoint joinPoint){
        try {
            System.out.println("方法執(zhí)行前的環(huán)繞通知");
            joinPoint.proceed();
            System.out.println("方法執(zhí)行后的環(huán)繞通知");
        } catch (Throwable throwable) {
            throwable.printStackTrace();
        }
    }
}

Spring——基于注解的AOP配置,Spring,spring文章來源地址http://www.zghlxwxcb.cn/news/detail-815263.html

到了這里,關于Spring——基于注解的AOP配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【Spring進階系列丨第十篇】基于注解的面向切面編程(AOP)詳解

    【Spring進階系列丨第十篇】基于注解的面向切面編程(AOP)詳解

    ? 注意,該類的兩個細節(jié): a、@Component注解向容器中注冊一個Bean。 b、@Aspect注解表示這個是一個切面類。 c、@Before注解表示的是這個是前置增強/前置通知。 ? 注意:對于業(yè)務Bean,我們也需要通過@Service注解來向容器中注冊。 ? 問題:我們看到對于切面類中定義的通知,有

    2024年04月23日
    瀏覽(28)
  • Spring5框架——AOP操作:通過Aspectj注解方式和配置文件方式來實現(xiàn)

    Spring5框架——AOP操作:通過Aspectj注解方式和配置文件方式來實現(xiàn)

    o((⊙﹏⊙))o. ** 之前的博客介紹了什么是AOP,以及AOP的底層原理,AOP主要是在原本的基礎上添加一些之外的功能但是添加的功能是不會修改原定的代碼,接下來為你介紹的是Aspectj注解,Spring 框架一般都是基于 AspectJ 實現(xiàn) AOP 操作。AspectJ 不是 Spring 組成部分,獨立 AOP 框架,一

    2024年02月16日
    瀏覽(20)
  • Spring Boot入門(23):基于AOP實現(xiàn)自定義注解攔截接口日志并保存入庫 | 超級詳細,建議收藏

    Spring Boot入門(23):基于AOP實現(xiàn)自定義注解攔截接口日志并保存入庫 | 超級詳細,建議收藏

    ? ? ? ? 在上兩期中,我們著重介紹了如何集成使用 Logback?與?log4j2?日志框架的使用,今天我們講解的主題依舊跟日志有關,不過不是使用何種開源框架,而是自己動手造。 ? ? ? ? Spring的核心之一AOP;AOP翻譯過來叫面向切面編程, 核心就是這個切面. 切面表示從業(yè)務邏輯中

    2024年02月11日
    瀏覽(28)
  • Spring5系列學習文章分享---第三篇(AOP概念+原理+動態(tài)代理+術語+Aspect+操作案例(注解與配置方式))

    Spring5系列學習文章分享---第三篇(AOP概念+原理+動態(tài)代理+術語+Aspect+操作案例(注解與配置方式))

    開篇: 歡迎再次來到 Spring 5 學習系列!在這個博客中,我們將深入研究 Spring 框架的AOP概念+原理+動態(tài)代理+術語+Aspect+操作案例(注解與配置方式)。 概念 什么是AOP (1)面向切面編程(方面),利用 AOP 可以對業(yè)務邏輯的各個部分進行隔離,從而使得 業(yè)務邏輯各部分之間的

    2024年01月24日
    瀏覽(28)
  • 注解 + spring aop切面+ SpringEl

    2024年02月09日
    瀏覽(27)
  • javaee spring aop 注解實現(xiàn)

    javaee spring aop 注解實現(xiàn)

    2024年02月09日
    瀏覽(19)
  • Spring 使用注解開發(fā)、代理模式、AOP

    在Spring4之后,要使用注解開發(fā),必須要保證AOP的包導入了 項目搭建: 在配置文件中導入約束,增加注解支持 bean 實體類 @Component 注解 xml配置 測試: 屬性如何注入 衍生的注解 @Component 有幾個衍生的注解,我們在web開發(fā)中,會按照MVC三層架構(gòu)分層 dao層: @Repository 等價于poj

    2024年02月13日
    瀏覽(24)
  • spring自定義注解+aop+@BindingParam

    2.1 聲明切面注解 ?2.1.1切面對應枚舉 ?2.2 聲明綁定參數(shù)注解 4.1 ThreadLocalUtil? 4.2? 自定義異常

    2024年02月14日
    瀏覽(19)
  • Spring MVC 三 :基于注解配置

    Servlet3.0 Servlet3.0是基于注解配置的理論基礎。 Servlet3.0引入了基于注解配置Servlet的規(guī)范,提出了可拔插的ServletContext初始化方式,引入了一個叫ServletContainerInitializer的接口。 An instance of the ServletContainerInitializer is looked up via the jar services API by the container at container / application sta

    2024年02月11日
    瀏覽(24)
  • 【Spring】使用自定義注解方式實現(xiàn)AOP鑒權

    AOP,是一種面向切面編程,可以通過預編譯方式和運行期間動態(tài)代理實現(xiàn)程序功能的統(tǒng)一維護的一種技術。 在軟件開發(fā)中,鑒權(Authentication)是一項非常重要的安全措施,用于驗證用戶身份和權限。在應用程序中,我們通常會使用AOP(Aspect-Oriented Programming)來實現(xiàn)鑒權功能

    2024年02月11日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包