1. 程式人生 > >Spring Aop 簡單例子

Spring Aop 簡單例子

bean.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:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd           
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd           
           http://www.springframework.org/schema/aop 
           http://www.springframework.org/schema/aop/spring-aop-2.0.xsd" 
           default-autowire="byName">           
       
      <!-- 切面 -->
      <aop:aspectj-autoproxy/>
	  
      <!-- 通過註解方式實現 -->      
      <context:component-scan base-package="cn.nick.spring"></context:component-scan>        
     
</beans>

MyInetepor.java 實現aop方法
package cn.nick.spring.Inetepor;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Service;
import org.springframework.util.StopWatch;


@Aspect @Service
public class MyInetepor {
	
	@Pointcut("execution(* cn.nick.spring..*.*(..))")	
	private void anyOldTransfer(){}// 這是一個切入點
	
	@Before("anyOldTransfer()")
	public void doAccessCheck() {
		System.out.println("第一個切面練習!");
	}
	
	//環繞訊息
	@Around("anyOldTransfer()")
    public Object profile(ProceedingJoinPoint pjp) throws Throwable {
        StopWatch sw = new StopWatch(getClass().getSimpleName());
        try {
            sw.start(pjp.getSignature().getName());
            return pjp.proceed();
        } finally {
            sw.stop();
            System.out.println(sw.prettyPrint());
        }
    }


}


相關推薦

Spring Aop 簡單例子

bean.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="htt

Spring aop 簡單示例

http () demo cut cti throwable ack 切面 aspectj package com.yangxin.core.transaction; import org.aspectj.lang.ProceedingJoinPoint; import

spring aop簡單應用

定義 執行 around 圖片 分享 roc ima 功能 RoCE @Aspect代表這是一個Aop函數,可以具有Aop切面編程的功能 @Around註解代表包圍一個函數,可以在函數執行之前進行操作,也可以在函數執行之後操作。 在函數執行後操作需要使用Proceedin

初識spring,一個spring簡單例子出現的錯誤

Person.java package com.example.spring; public class Person {     private String name;     private int age;     public String getName()

動態代理與Spring AOP簡單介紹

代理模式 定義:給某個物件提供一個代理物件,並由代理物件控制對於原物件的訪問,即客戶不直接操控原物件,而是通過代理物件間接地操控原物件。 代理模式UML圖 代理的實現方式 靜態代理:代理類是在編譯時就實現好的,Java 編譯

Eclipse + MyEclipse整合Struts+Spring+Hibernate簡單例子開發

 今天學習了一個基本的Struts+Spring+Hibernate簡單例子。發現很簡單哦(建議初學者最好分開學習) 下面是做這個例子我出現的異常和解決方案。 1.因為我在web.xml裡的配置錯誤 <context-param>   <param-nam

Spring aop簡單示例

AOP概念:     面向切面(方面)程式設計,是對所有物件或者是一類物件程式設計,核心是(在不增加程式碼的基礎上,還增加新功能);     將通知配置到目標物件,生成代理物件。 AOP術語:    1.通知:切面的實際實現,他通知系統新的行為。如在日誌通知包含了實現日

spring-xfire簡單例子

最近重新熟悉下webservice知識,以前用的是axis2,現在用另一種方式spring xfire來實現簡單的webservice; xfire和axis xfire比axis效能高 axis比xfire響應時間短 一、在eclipse下新建專案工程xfire 二、匯入

一個簡單SpringAOP例子

 1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"&

(原創)Maven+Spring+CXF+Tomcat7 簡單例子實現webservice

produces per back targe xsd lean listener ans 控制 這個例子需要建三個Maven項目,其中一個為父項目,另外兩個為子項目 首先,建立父項目testParent,選擇quickstart: 輸入項目名稱和模塊名稱,然後創建:

Spring--AOP 例子

結束 oaf signature 日誌 類加載器 lis 能說 ssi system 先用代碼講一下什麽是傳統的AOP(面向切面編程)編程 需求:實現一個簡單的計算器,在每一步的運算前添加日誌。最傳統的方式如下: Calculator.Java [java] vie

一個使用Spring的AspectJ LTW的簡單例子

pri transport cli system ram exce lena nal rep 參考:https://docs.spring.io/spring-framework/docs/4.3.9.RELEASE/spring-framework-reference/h

Spring AOP註解形式簡單實現

之前 [] 依賴註入 .com proxy sta 對象 instance author 實現步驟:   1:導入類掃描的註解解析器    命名空間:xmlns:context="http://www.springframework.org/schema/context" 

Spring AOP增強小例子

[java]  view plain  copy public interface ISomeService  { 

Spring AOP簡介及簡單例項

一、SpringAOP 簡介 1.AOP思想: AOP即面向切面程式設計,可以說是OOP的補充和完善。它利用一種稱為"橫切"的技術,剖解開封裝的物件內部,並將那些影響了多個類的公共行為封裝到一個可重用模組,並將其命名為"Aspect",即切面。       &n

Spring學習筆記(一):眼見為實,先上一個簡單例子

概述 所謂眼見為實,Spring雖然是一個輕量級的框架,但涉及眾多的概念,理解起來並不容易,因此,先參考資料寫一個簡單的Demo,從中洞見Spring的大體工作流程,為後面深入學習做鋪墊。 本文的Demo很簡單:模擬圖書資料訪問服務,即向資料庫中新增圖書資訊,涉及IBoo

Spring AOP的最簡單實現

上篇已經debug原始碼一步一步去了解了AOP是如何實現的,有興趣的可以戳: https://blog.csdn.net/qq_26975307/article/details/85116918 基於Spring的AOP簡單實現 下面給出一個Spring AOP的.xml

Spring Aop實現簡單日誌記錄

日誌類 package com.jusfoun.estate.log.domain; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import java

(一)Spring 之IOC入門簡單例子

1. IOC 和 DI 是什麼 2.匯入Spring 的jar 包 3.實現IOC簡單例子的步驟 (一)IOC 和 DI是什麼 IOC即控制反轉,意思是物件的建立不通過 手動 new,而是把物件的建立權交給Spring來完成。 DI 即依賴注入,意思是 Spring主動建

2018年最後一天 VsCode中執行nodeJs程式碼的簡單方法 Pgsql和Mysql的對比 Tomcat的最大併發數 Spring AOP不起作用原因

發現2017的隨筆總結依舊適用,想堅持每天寫點東西分享,但感覺每天能原創分享的內容真的不多,尤其是要把自己想分享的內容寫清楚也需要額外花費很多的時間,這讓本來平時就工作比較忙的自己疲於應付,於是乎就轉載自己看到的一些好的文章分享,甚至有些文章自己都沒完全看完就發,湊合著完成了任務,但自己的成就感很低。因此我不