1. 程式人生 > >AOP之配置檔案方式

AOP之配置檔案方式

上篇博文是通過註解方式注入獨立服務的,那這篇博文我們將通過配置檔案的方式來切入我們的服務。

程式碼如下:

UserManager和UserManagerImpl (略,上篇博文

服務類(獨立於業務):

	package com.huxj.spring;
	
	public class SecurityHandler {
	
		private void checkSecurity() {
			System.out.println("-------checkSecurity-------");
		}	
	}

applicationContext-beans.xml

		<bean id="userManager" class="com.huxj.spring.UserManagerImpl" />
		<bean id="securityHandler" class="com.huxj.spring.SecurityHandler" />
		
		<aop:config>
			<aop:aspect id="securityAspect" ref="securityHandler">
	<!-- 			以add開頭的方法 -->
	<!--  			<aop:pointcut id="addMethod" expression="execution(* add*(..))"/>  -->
	
	<!-- 			以com.huxj.spring所有的add開頭的方法  -->
	<!-- 			<aop:pointcut id="addMethod" expression="execution(* com.huxj.spring.*.add*(..))"/> -->
				<aop:pointcut id="addMethod"  expression="execution(* com.huxj.spring.*.add*(..))//execution(* com.huxj.spring.*.del*(..)"/>
				<aop:before method="checkSecurity" pointcut-ref="addMethod"/>
			</aop:aspect>
	
		</aop:config>


這種配置檔案的方式,我們比較熟悉,因為在講ioc容器使用的時候我們解除的比較多。只是這裡的標籤比較特殊一些。

       其程式碼省略和上篇一致。

結果

-------checkSecurity-------

---UserManagerImpl.addUser()----

總結:

在這裡,我們採用的是配置檔案的方式,核心也是通過動態代理切入到我們的程式中。

總之,AOP採用橫向切入,它的實現思路是動態代理,它最大的好處就是大大提高程式碼的複用。

相關推薦

AOP配置檔案方式

上篇博文講是通過註解方式注入獨立服務的,那這篇博文我們將通過配置檔案的方式來切入我們的服務。 程式碼如下: UserManager和UserManagerImpl (略,上篇博文) 服務類(獨立於

Spring入門學習(使用XML配置檔案方式配置AOP) 第十七節

Spring入門學習(使用XML配置檔案方式來配置AOP) xml配置檔案配置AOP xml配置檔案配置AOP 使用之前建立的類ArithmeticCalculator和ArithmeticCalculatorImpl 去掉Log

Hibernate學習筆記(一)——根據配置檔案自動建立表的兩種方式(註解方式配置檔案方式

環境準備:jdk  eclipse   hibernate、mysql jar包 專案截圖: Student是根據配置檔案建立表,Teacher是根據註解建立表 Student.java package com.java1234.model; publi

【Spring】—AOPAspectJ註解方式實現聲明式事務管理

source xml配置 blog org 僅支持 選擇 imp 獨立 col 前言 這回來說下註解方式的聲明式事務管理。 正文 Demo 1、引入相關的jar包這裏寫圖片描述 2、引入AOP約束<beans xmlns:xsi="http://www.w3

Nginx入門筆記————配置檔案結構

Nginx入門筆記之————配置檔案結構   ... #全域性塊 events { #events塊 ... } http #http塊 { ... #http全域性塊 server #

Struts2的入門配置檔案和傳值問題

struts-base.xml檔案詳解這是struts2的基礎配置檔案必須的 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD

Hibernate的入門配置檔案和增刪改查

首先使用maven匯入jar包,然後配置主xml檔案 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Confi

Golang 專案配置檔案

相信對於很多gopher 而言, 我這篇文章,算比較初級,我是一個一年多經驗的golang程式設計師,有著5年左右的程式設計經驗。 golang 對於初學者還算友好, 寫程式碼很好入門, 但業界對於golang工程與專案的BP卻比較缺少,或者是有很多方為此爭論不休,就比依賴管理工具就搞出了許多個,如 知名的有

Scrapy 配置檔案 setting.py

1.爬蟲是否遵守 robots 協議:預設是遵守的;不遵守把第二行註釋刪掉即可 # Obey robots.txt rules # ROBOTSTXT_OBEY = False   2.爬蟲是否讓瀏覽器識別我們的 cookie:預設是識別;不想讓瀏覽器識別,是一種反反爬策略,第

mybatis原始碼-解析配置檔案(三)配置檔案Configuration解析(超詳細, 值得收藏)

1. 簡介 1.1 系列內容 本系列文章講解的是mybatis解析配置檔案內部的邏輯, 即 Reader reader = Resources.getResourceAsReader("mybatis-config.xml"); SqlSessionFact

Spring Cloud與微服務配置檔案中心Spring Cloud Config

文章目錄 Spring Cloud Config簡介 Git上的配置檔案springcloud-config-resources springcloud-config-resources專案結構 springcloud-config-r

Struts2配置檔案的載入的順序

掌握: 載入的配置檔案的名稱,位置和作用 Struts2框架的核心是StrutsPrepareAndException過濾器,該過濾器有兩個功能 Prepare-----預處理,載入核心的配置檔案 Execute--

mybatis原始碼-解析配置檔案(四)配置檔案Mapper解析

其中, mappers作為configuration節點的一部分配置, 在本文章中, 我們講解解析mappers節點, 即 xxxMapper.xml 檔案的解析。 1 解析入口 在解析 mybatis-config.xml 時, 會進行解析 xxxMapper.xml 的檔案。 在圖示流程的 XMLCo

mybatis原始碼-解析配置檔案(四-1)配置檔案Mapper解析(cache)

1. 簡介 本文章主要講解的是, xxxMapper.xml 檔案中, cache 節點的原始碼。 2. 解析 XMLMapperBuilder.cacheElement() 方法主要負責解析 <cache> private void cacheElement(XNode context)

Nginx基礎配置檔案nginx.conf

基礎階段回顧: Nginx基礎之簡介與快速安裝 Nginx基礎之安裝目錄和配置語法詳解 nginx預設的配置檔案有: nginx.conf/default.conf 主配置檔案nginx.conf nginx.conf原檔案: nginx的預設配置語法

sprint-boot 整合mybatis+註解方式+配置檔案方式

註解方式  application.yml spring: datasource: # 資料來源基本配置 username: root password: root driver-class-name: com.mysql.jdbc.Dr

Spring框架的Bean管理的配置檔案方式

1. id屬性和name屬性的區別 * id -- Bean起個名字,在約束中採用ID的約束,唯一 * 取值要求:必須以字母開始,可以使用字母、數字、連字元、下劃線、句話、冒號 id:不能出現特殊字元 * name -- Bean起個名字,沒有采用I

統計系列配置檔案的解析

運用讀取資料庫的配置檔案為例子: 1.首先來看一下配置檔案的格式: [rds_mysql] ip=localhost port=3306 db=test1,test2 user=root passwd=123456 enable=1 2.利用configparser

Ocelot簡易教程(七)配置檔案資料庫儲存外掛原始碼解析

作者:依樂祝 原文地址:https://www.cnblogs.com/yilezhu/p/9852711.html 上篇文章給大家分享瞭如何整合我寫的一個Ocelot擴充套件外掛把Ocelot的配置儲存到資料庫中。並沒有對實現原理進行相應的闡述。今天抽空把實現的原理給大家說道說道。明白原理後,大家就可以

SpringBoot配置檔案YAML檔案簡單介紹

1.基本語法  k:(空格)v   表示一對鍵值對,空格必須有 例如: lucy前方要有空格    name: lucy  以空格縮排控制層級關係,左對齊屬性表示同一級別 person: name: fangxinde age: 28