SpringAOP之XML配置

Spring AOP 的实现例子(基于XML配置实现) Spring AOP 的实现例子(基于XML配置实现); 具体介绍看这里:https://blog.youkuaiyun.com/qq_22078107/article/details/85865543 立即下载

SpringAOP之XML配置

XML的配置方式与注解方式总体上差不多。用XML的配置来代替注解。有Spring来管理。采用Maven的方式,SSM的框架来演示。注解配置

一、XML的配置

注意在配置文件中添加AOP的引用xmlns:aop="http://www.springframework.org/schema/aop" 

 http://www.springframework.org/schema/aop 

http://www.springframework.org/schema/aop/spring-aop-4.0.xsd

<?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:p="http://www.springframework.org/schema/p"  
    xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:aop="http://www.springframework.org/schema/aop"    
    xsi:schemaLocation="http://www.springframework.org/schema/beans    
                        http://www.springframework.org/schema/beans/spring-beans-3.1.xsd    
                        http://www.springframework.org/schema/context    
                        http://www.springframework.org/schema/context/spring-context-3.1.xsd    
                        http://www.springframework.org/schema/mvc    
                        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
                        http://www.springframework.org/schema/aop 
                        http://www.springframework.org/schema/aop/spring-aop-4.0.xsd">  
    <!-- 自动扫描 -->  
    <context:component-scan base-package="com.yuanjun" /> 
 	
    <!-- 引入配置文件 -->  
    <bean id="propertyConfigurer"  
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
        <property name="location" value="classpath:jdbc.properties" />  
    </bean> 
    <!-- 配置数据源 --> 
    <bean id="dataSource"  
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
        <property name="driverClassName" value="${jdbc.driver}" />  
        <property name="url" value="${jdbc.url}" />  
        <property name="username" value="${jdbc.username}" />  
        <property name="password" value="${jdbc.password}" />  
    </bean>   
  
    <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->  
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
        <property name="dataSource" ref="dataSource" />  
        <!-- 自动扫描mapping.xml文件 -->  
        <property name="mapperLocations" value="classpath:com/yuanjun/mapping/*.xml"></property>  
    </bean>  
  
    <!-- DAO接口所在包名,Spring会自动查找其下的类 -->  
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
        <property name="basePackage" value="com.yuanjun.dao" />  
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>  
    </bean>  
  
    <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->  
    <bean id="transactionManager"  
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
        <property name="dataSource" ref="dataSource" />  
    </bean>  
  
    <!-- AOP的配置 -->
  	<aop:aspectj-autoproxy/>
  	<bean class="com.yuanjun.aop.MyAspect" id="myAspect"/>
  	<aop:config>
  		<!-- 切面表达式,对应注解@Pointcut -->
  		<aop:pointcut expression="execution(public * com.yuanjun.service..*(..))" id="txpointcut"/>
	  		<aop:aspect ref="myAspect">
	  			<!-- 前置通知 -->
	  			<aop:before method="before" pointcut-ref="txpointcut"/>
	  			<!-- 后置通知 -->
	  			<aop:after method="after" pointcut-ref="txpointcut"/>
	  		</aop:aspect>
  	</aop:config>
</beans>  
二、实现类
/**
 * 
 * @ClassName:MyAspect
 * @Description :TODO
 * @author yuanjun
 * @date 2018-1-5
 */
public class MyAspect {
	
	public void before(){
		System.out.println("###前置通知###");
	}
	
	public void after(){
		System.out.println("###后置通知###");
	}
}
三、简单的Servcie测试

@Service
public class PersonServiceImpl implements PersonService {
	
	@Autowired
	private PersonDao personDao;
	
	public PersonDao getPersonDao() {
		return personDao;
	}

	public void setPersonDao(PersonDao personDao) {
		this.personDao = personDao;
	}

	public List<Person> findAll() {
		System.out.println("execute findall method");
		return personDao.findall();
	}

}
四、控制层(Controller)

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import com.yuanjun.bean.Person;
import com.yuanjun.service.PersonService;

@Controller
public class LoginControl {
	@Autowired
	private PersonService personService;
	
	@RequestMapping("/main")
	public String test(){
		
		List<Person> list = personService.findAll();
		for (Person person : list) {
			System.out.println(person);
		}
		return "main";
	}
}
五、页面访问测试









SpringAop xml方式配置通知 立即下载

相关推荐

逆向解析喜马拉雅新版xm-sign算法:从dws.1.6.8.js到签名生成

本文详细解析了喜马拉雅新版xm-sign算法的逆向破解方法。通过定位核心JS文件dws.1.6.8.js,构建本地Node.js模拟执行环境,并解密关键参数cid与appKey,最终实现签名算法的本地化稳定生成,为数据采集提供可靠解决方案。

weixin_29250403的博客 211

Spring-AOP配置(XML)

Spring-AOP配置(XML)

汤键的博客 3655

Debian下Rust环境极速安装指南:国内镜像+避坑配置(附清华/中科大源对比)

本文详细介绍了在Debian系统上快速安装和配置Rust开发环境的完整指南。针对国内网络环境,重点对比评测了清华大学、中国科学技术大学等主流镜像源,提供了详细的安装配置步骤、Cargo优化技巧以及常见问题排查方案,帮助开发者显著提升依赖下载和编译效率。

s8t9u0v1w的博客 1161

Spring的AOP开发-基于xml配置的AOP

Spring的AOP开发-基于xml配置的AOP

weixin_42594143的博客 1225

Aruba CX交换机VSX配置实战:如何避免脑裂导致的网络中断(含详细命令)

本文提供Aruba CX交换机VSX配置的实战指南,重点讲解如何通过构建高可靠的ISL链路聚合与独立隔离的Keepalive链路,有效避免网络脑裂风险。文章包含详细的命令步骤,从基础配置到高级故障排查,帮助网络工程师构建坚如磐石的高可用核心网络,确保业务流量零中断。

weixin_29231725的博客 170

在MacBook M1/M2上,手把手教你打包包含嵌入模型的RagFlow Docker镜像(避坑指南)

本文详细指导如何在MacBook M1/M2上构建ARM64架构的RagFlow Docker镜像,涵盖环境准备、依赖处理、镜像构建及性能优化全流程。特别针对Apple Silicon芯片的兼容性问题提供解决方案,帮助开发者高效完成本地开发环境搭建。

weixin_26908317的博客 242

Spring AOP(xml配置)(注解配置)

JoinPoint仅能获取相关参数,无法执行连接点.暴露出proceed()这个方法,就能支持aop:around这种切面(而其他的几种切面只需要用到JoinPoint,这跟切面的类型有关),就能控制走代理链还是走自己拦截的其他逻辑。proceedingjoinpoint继承了JoinPoint,在JoinPoint的基础上暴露出proceed(),这个方法是AOP代理链执行的方法.AOP的功能主要是为了拦截或者实现日志安全检查等一些检查的工作,aop也常用于事务管理,防止垃圾数据进入数据库.

m0_67466364的博客 781

windows下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能

一、环境介绍 操作系统:win10 64位系统 Linux下搭建Nginx搭建Rtmp流媒体服务器方法请看这里:https://blog.youkuaiyun.com/xiaolong1126626497/article/details/105378894 二、流媒体服务器介绍 流媒体服务器的主要功能是以流式协议(RTP/RTSP、MMS、RTMP等)将视频文件传输到客户端,供用户在线观看;也可从视频采集、压缩软件接收实时视频流,再以流式协议直播给客户端。 nginx服务器是开源的高性能的http服务器,反向

1万+

Spring基于XML配置AOP

......</beans>在切面内使用来定义切点,然后在通知中使用来指定切点。切点表达式用来匹配切入的目标类和方法。目标类只能是 Spring 容器管理的类,切面只能切入 Bean 中的方法。<beans>

Purpletaro的专栏 468

C#部署YOLO三种方案深度实测:OpenCV DNN vs ONNX Runtime vs TensorRT

在工业视觉项目落地阶段,C#生态下部署YOLO模型主要有三条技术路线。很多开发者仅凭经验选型,往往在部署后期踩中性能瓶颈、兼容故障、维护成本超标的坑。本文基于工控机常见硬件配置,针对YOLOv8系列模型做控制变量实测,从推理性能、部署难度、工业稳定性、综合成本等多个维度做横向对比,给出可直接落地的选型结论。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 464

Aduino 通过I2C接口读取MPU6050模块数据

Aduino ESP9266通过I2C接口读取MPU6050模块数据 MPU6050模块 原理图 所需库:Adafruit_MPU6050 Adafruit_BusIO Adafruit Unified Sensor 接线示意图 ESP8266---MPU6050 VCC -- 3.3v GND -- GND D2 -- SDA D1 -- SCL 示例程序代码 #include <Adafruit_MPU6050.h> #include <Adafruit

perseverance51博客 621

SpringAop两种配置:xml配置和注解方式

所谓的springaop就是面向切面编程,就是在你的原有项目功能上,通过aop去添加新的功能,这些功能是建立在原有的功能基础上的,而且不会修改原来的动能代码以及功能逻辑。例如你用银行卡购物,购物付款,这是一个功能。付款后,银行向你的手机发送一条取钱信息,这就是新加的功能。也就是实现了增强。

Su3253067688的博客 1014

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SpringAOP XML配置解析

XML 配置适用于需动态调整 AOP 策略的大型项目,而注解配置更适合轻量级快速开发。实际项目中,可通过。

m0_75107803的博客 437

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

SpringAOP配置文件applicationContext.xml

<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:tx="http://www.spri

Jack 1917

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

基于xml的SpringAOP配置

1. 环境配置 1.1 第一步:准备客户的业务层和接口(需要增强的类) /** * 客户的业务层接口 */ public interface ICustomerService { /** * 保存客户 */ void saveCustomer(); /** * 修改客户 * @param i */ void updateCustomer(int i); } ...

猫先生的博客 323

SpringAOP基于xml的动态代理配置

SpringAOP基于xml的动态代理配置 学习于黑马程序员Spring教程 项目结构 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4iizmu51-1596815540432)(image.png)] 接口 package com.dyf.service; /** * 账户打业务层接口 */ public interface IAccountService { /** * 模拟保存账户 */ void saveAccount();

weixin_44311673的博客 390

Java——SpringAOP中XML配置

AOP配置XML一.概念AOP的Xml配置:1. 标签表示配置AOP 配置切面a. 配置前置通知2.环绕通知1.xml配置,在aspect里面2. 方法使用 一.概念 连接点: 如service中的方法就是连接点 切入点 a) Service方法被增强的就是切入点 通知 a) b) 引介 目标对象——代理目标对象 织入——指的是代理新对象的过程 代理——一个类被AOP织入增强后,产生的代理类...

Android_Cob的博客 300

SpringAOP基于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" xsi:schemaLocation="...

m0_60089699的博客 183

springAop的配置XML实现

第一次写博客不太会排版,见谅了看了那么多的springAop,但最终都没有自己敲出来的理解深刻,下面是一个通过xml配置实现的springAop功能applicationContext.xml的配置因为也打算自己参考用所以将大部分的schema也贴进来了,小伙伴根据自己需要选择就好&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;beans xmln...

トウウンコウの博客 237

SpringAOP利用xml配置实现

SpringTest与Junit的完美的集合 优点:可以不用每次测试的时候进行创建spring的容器,而且进行持久层的测试的完毕的时候可以回滚已经测试的数据,不会对数据库造成影响。还有很多的优点,可以自己慢慢研究。 导入的jar包: &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework&amp;lt;/groupId&amp;gt; ...

weixin_40843624的博客 277

SpringAop两种配置:注解方式和xml配置

一,什么是SpringAop?        所谓的springaop就是面向切面编程,就是在你的原有项目功能上,通过aop去添加新的功能,这些功能是建立在原有的功能基础上的,而且不会修改原来的动能代码以及功能逻辑。例如你用银行卡购物,购物付款,这是一个功能。付款后,银行向你的手机发送一条取钱信息,这就是新加的功能。也就是实现了增强二,Springaop的实现机制是什么?        横向抽取机...

Mister_yang的博客 1万+

九、SpringAOP基于xml配置的环绕通知

spring的环绕通知可以让我们手动的控制增强的代码 我们来在配置文件中只需要<aop:around method="arruondPrintLog" pointcut-ref="pt1"/> xml配置文件如下 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/

学习笔记 905

springAop基于xml的注解的配置和纯注解配置

文章目录基于xml的注解配置配置文件people类(需要增强的类)peopleplus(增强类)测试纯注解配置people(要增强的类)peopleplus(增强类)config类(容器类)test类 基于xml的注解配置 配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springfram...

Hello什么来着? 369

springAOP基于XML配置文件方式

包含:poincut,advisor,aspect元素,通过XML配置。 springAOP的具体加载步骤:    1、当spring容器启动的时候,加载了spring的配置文件    2、为配置文件中所有的bean创建对象    3、spring容器会解析aop:config的配置         1、解析切入点表达式,用切入点表达式和纳入spring容器中的bean做匹配    

yanmei的专栏 1952

Spring框架学习的第四天(AOP(面向切面编程),基于Xml的SpringAOP的配置)

一、案例引入 1.SpringIOC解决的问题是消除了类与类之间的在编译期之间的耦合 2.那么企业单纯采用SpringIOC是不是就可以呢??下面我们来引入一个案例“日志统计” 3.代理的作用 对方法进行增强,代理拥有目标的所有功能,并且可以对目标对象进行增强 4.什么是动态代理 在程序运行的过程中可以动态的为目标对象产生代理对象,没有代理类(不需要去写代理类) 5.Spring中动态代理的...

飞奔的嗨少 452
上一篇: SpringAOP之注解配置
下一篇: SpringAOP的应用实践之日志管理
shenbug
博客等级 码龄10年 410粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值