spring AOP配置方法 与 IoC容器的执行流程

主要适用于写日志等操作,可以在dao层 业务层添加,但是必须是借口才能使用

配置方法

<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="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">
 
		<bean id="log" class="com.hw.util.Log"/> 
 
		<aop:config> 
 
		   <aop:pointcut	 expression="execution(* com.hw.service.IUser.add*(..))"	 id="add"/> 
 
			<aop:aspect ref="log"> 
 
			      <aop:after method="Write"	 pointcut-ref="add"/> 
 
			</aop:aspect> 
 
		</aop:config>
 
</beans>





关键字: spring的ioc容器的执行流程
  1. 应用程序的启动 main()
    1. 创建IoC容器的代表
    2. 解析xml文件(可以为任意的名字,spring默认推荐为applicationContext.xml)
    • 通过BeanFactoryPostProcessor来修改bean
    • 初始化所有的singleten bean
      • constructor注入
      • setter注入
      • BeanPostProcessor befor方法
      • init-method
      • BeanPostProcessor after方法
      • 返回bean实例
    • 返回BeanFactory实例
    1. 获取bean实例,getBean(".......");

      • 如果是BeanFactory直接实现类或者非singleten bean或者lazy-init="true"都在做getBean的时候才初始化
    2. 实际的业务逻辑……
    1. 销毁
    2. 如果是XmlBeanFactory时用destroysingletens()来销毁 是延迟加载
    • 如果是AbstractApplicationContext时用close();来销毁 不延迟加载 配置destroy-method
    1. 结束应用程序
本文转自:http://ligaosong.iteye.com/blog/932260   http://ligaosong.iteye.com/blog/904069

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值