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

javaee spring 測(cè)試aop 切面

這篇具有很好參考價(jià)值的文章主要介紹了javaee spring 測(cè)試aop 切面。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

切面類

package com.test.advice;

import org.aspectj.lang.ProceedingJoinPoint;

//增強(qiáng)類
public class MyAdvice {

    //將這個(gè)增強(qiáng)方法切入到service層的add方法前
    public void before()
    {
        System.out.println("添加用戶之前");
    }

    

}

目標(biāo)類

package com.test.service;

public interface IUsersService {

    public void add();

    public void update();

    public void delete();
}

package com.test.service.impl;

import com.test.service.IUsersService;
import org.springframework.stereotype.Service;

@Service
public class UsersService implements IUsersService {

    @Override
    public void add()  {

        System.out.println("添加用戶...");
    }

    @Override
    public void update() {
        System.out.println("修改用戶...");
    }

    @Override
    public void delete() {
        System.out.println("刪除用戶...");
    }
}

spring配置文件

<?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.test" />

   <!-- 創(chuàng)建增強(qiáng)類對(duì)象 -->
    <bean id="myAdvice" class="com.test.advice.MyAdvice" />

    <!-- 織入 -->
    <aop:config>
          <!-- 定義切點(diǎn)-->
          <aop:pointcut id="pc" expression="execution(* com.test.service.impl.*.add(..))" />
          <!--切入 -->
          <aop:aspect ref="myAdvice">
              <!-- 將增強(qiáng)類對(duì)象myAdvice中的before方法切入到pc對(duì)應(yīng)的切點(diǎn)所在的方法前面 -->
              <aop:before method="before" pointcut-ref="pc" />


          </aop:aspect>
    </aop:config>


</beans>

依賴

<?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>org.example</groupId>
  <artifactId>testSpring06</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <name>testSpring06 Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <!-- Spring -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.3.18.Release</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>4.3.18.Release</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>4.3.18.Release</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>4.3.18.Release</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>4.3.18.RELEASE</version>
    </dependency>

    <!-- aop -->
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.8.10</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>4.3.18.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>4.3.18.RELEASE</version>
    </dependency>

  </dependencies>

  <build>
    <finalName>testSpring06</finalName>
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

測(cè)試類

package com.test.testAop;

//import com.test.service.IItemsService;
import com.test.service.IUsersService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestAop {

    @Test
    public void test()
    {
        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");

        IUsersService usersServiceProxy=applicationContext.getBean("usersService", IUsersService.class);

        try {
            usersServiceProxy.add();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }


測(cè)試結(jié)果

javaee spring 測(cè)試aop 切面,Mac開發(fā),java-ee,spring,java文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-696661.html

到了這里,關(guān)于javaee spring 測(cè)試aop 切面的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Spring】javaBean、依賴注入、面向切面AOP、使用注解開發(fā)

    【Spring】javaBean、依賴注入、面向切面AOP、使用注解開發(fā)

    有一定規(guī)范的Java實(shí)體類,類內(nèi)提供了一些公共方法以便外界對(duì)該對(duì)象的內(nèi)部屬性進(jìn)行操作 所有屬性都是private,所有的屬性都可以通過(guò)get/set方法進(jìn)行訪問(wèn),同時(shí)還需要有一個(gè)無(wú)參構(gòu)造(默認(rèn)就有) 高內(nèi)聚,低耦合是現(xiàn)代軟件的開發(fā)的設(shè)計(jì)模式 之前編寫的圖書管理系統(tǒng)具有高

    2024年02月08日
    瀏覽(57)
  • 【Java 初級(jí)】Spring核心之面向切面編程(AOP)

    【Java 初級(jí)】Spring核心之面向切面編程(AOP)

    tip:作為程序員一定學(xué)習(xí)編程之道,一定要對(duì)代碼的編寫有追求,不能實(shí)現(xiàn)就完事了。我們應(yīng)該讓自己寫的代碼更加優(yōu)雅,即使這會(huì)費(fèi)時(shí)費(fèi)力。 ???? 推薦: 體系化學(xué)習(xí)Java(Java面試專題) AOP(面向切面編程)是一種編程范式,用于將橫切關(guān)注點(diǎn)(如日志記錄、性能統(tǒng)計(jì)等

    2024年02月04日
    瀏覽(28)
  • Spring AOP:面向切面編程

    在軟件開發(fā)中,我們經(jīng)常會(huì)遇到一些橫切關(guān)注點(diǎn)(cross-cutting concerns),如日志記錄、事務(wù)管理和安全性等。這些關(guān)注點(diǎn)不屬于特定的模塊或類,而是橫跨整個(gè)應(yīng)用程序。傳統(tǒng)的面向?qū)ο缶幊谭椒ㄍ鶗?huì)將這些關(guān)注點(diǎn)與核心業(yè)務(wù)邏輯混雜在一起,導(dǎo)致代碼的可讀性和可維護(hù)性下

    2024年02月09日
    瀏覽(22)
  • Spring面向切面編程(AOP)

    Spring面向切面編程(AOP)

    AOP(Aspect Oriented Programming),即面向切面編程,利用一種稱為\\\"橫切\(zhòng)\\"的技術(shù),剖開封裝的對(duì)象內(nèi)部,并將那些影響了多個(gè)類的公共行為封裝到一個(gè)可重用模塊,并將其命名為\\\"Aspect\\\",即切面。所謂\\\"切面\\\",簡(jiǎn)單說(shuō)就是那些與業(yè)務(wù)無(wú)關(guān),卻為業(yè)務(wù)模塊所共同調(diào)用的邏輯或責(zé)任封裝

    2024年02月07日
    瀏覽(31)
  • Spring-aop面向切面

    Spring-aop面向切面

    1、理解必要的專業(yè)術(shù)語(yǔ) ?先看看上面圖,這是我的個(gè)人理解。(畫的丑,主打真實(shí)) ? ? ? ? 1)Advice,通知/增強(qiáng):類方法中提出來(lái)的共性功能(大白話就是提出來(lái)的重復(fù)代碼) ????????2)Pointcut,切入點(diǎn)/切點(diǎn):通知返回的方法 ????????3)連接點(diǎn):方法 ? ? ? ? 4)織入:

    2023年04月15日
    瀏覽(86)
  • Spring-AOP(面向切面)

    Spring-AOP(面向切面)

    功能接口 實(shí)現(xiàn)類 在含有日志輸出的實(shí)現(xiàn)類中可以了解到:與核心業(yè)務(wù)功能沒(méi)有關(guān)系的日志輸出加雜在模塊中,對(duì)核心業(yè)務(wù)功能有干擾。 思路:解耦 , 將附加功能從業(yè)務(wù)功能模塊中抽取出來(lái) 概念 二十三種設(shè)計(jì)模式中的一種,屬于結(jié)構(gòu)型模式,它的作用就是通過(guò)提供一個(gè)代理

    2024年02月16日
    瀏覽(25)
  • 注解 + spring aop切面+ SpringEl

    2024年02月09日
    瀏覽(27)
  • spring之面向切面:AOP(2)

    spring之面向切面:AOP(2)

    學(xué)習(xí)的最大理由是想擺脫平庸,早一天就多一份人生的精彩;遲一天就多一天平庸的困擾。各位小伙伴,如果您: 想系統(tǒng)/深入學(xué)習(xí)某技術(shù)知識(shí)點(diǎn)… 一個(gè)人摸索學(xué)習(xí)很難堅(jiān)持,想組團(tuán)高效學(xué)習(xí)… 想寫博客但無(wú)從下手,急需寫作干貨注入能量… 熱愛寫作,愿意讓自己成為更好

    2024年02月04日
    瀏覽(12)
  • [SSM]Spring面向切面編程AOP

    [SSM]Spring面向切面編程AOP

    目錄 十五、面向切面編程AOP 15.1AOP介紹 15.2AOP的七大術(shù)語(yǔ) 15.3切點(diǎn)表達(dá)式 15.4使用Spring的AOP 15.4.1準(zhǔn)備工作 15.4.2基于AspectJ的AOP注解式開發(fā) 15.4.3基于XML配置方式的AOP(了解) 15.5AOP的實(shí)際案例:事務(wù)處理 15.6AOP的實(shí)際案例:安全日志 IoC使軟件組件松耦合。AOP讓你能夠捕捉系統(tǒng)中經(jīng)

    2024年02月15日
    瀏覽(28)
  • 26.Spring-AOP(切面編程)

    26.Spring-AOP(切面編程)

    目錄 一、Spring-AOP。 (1)AOP的簡(jiǎn)介。? (2)AOP的底層實(shí)現(xiàn)-動(dòng)態(tài)代理。? (2.1)JDK的動(dòng)態(tài)代理。 ?(2.2)cglib的動(dòng)態(tài)代理。 ?(3)AOP的相關(guān)概念。? (4)xml配置——AOP的快速入門。 (5) xml配置AOP詳解。 (5.1)切點(diǎn)表達(dá)式的寫法。? (5.2)通知的類型。 (5.3)切點(diǎn)表達(dá)式的

    2023年04月24日
    瀏覽(27)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包