关于spring的aop(切面编程)配置总结

spring的aop配置有三种方式:

  1.全注解

  2.半注解半配置(自动配置,不需要手动配置)

  3.无注解(全配置控制)

注:以上三种说法都是我自己说的,没有权威书籍认证的,该文写作目的仅仅以免以后有所遗忘,同时加深印象,如果有什么概念不对地方请体谅!如果内容有不对的地方请告知!我再去研究!


1.半注解半配置

我的第一个aop案例就是一个半注解半配置的例子


配置文件如下

   <context:component-scan base-package="aoptest">
            <context:include-filter type="annotation" expression="org.aspectj.lang.annotation.Aspect"/>
        </context:component-scan>
        <aop:aspectj-autoproxy/>


该配置自动扫描aoptest包下所拥有的注释,然后进行切面编程


2.无注解配置文件

    <aop:config>
              
              <aop:aspect ref="aspectbean">
                      <aop:after pointcut="execution(* test.*.*(..))" method="release"/>
                      <aop:after-returning  pointcut="execution(* test.*.*(..))" method="log" returning="rvt"/>
                      <aop:around pointcut="execution(* test.*.*(..))" method="processTx"/>
                      <aop:before pointcut="execution(* test.*.*(..))" method="authority"/>
              </aop:aspect>
      </aop:config>
      
      <bean id="aspectbean" class="test.aspect1"/>
      <bean id="person" class="test.person">


它是一种以bean文件ref方式反射aop配置标签到ioc依赖注入bean当中让它解析当中  然后进行aop切面编程,所以整个程序不需要的注解@提示程序这里有一个bean将要解析


3.全注释配置文件


@Configuration
public class person {
    @Bean
    public person demo() {
        System.out.println("人造1号初始化完毕!");
        return new person();
    }
}

这其实只是一个普通的Java文件  其中类被@Configuration修饰   方法被  @Bean修饰

但是自从spring3.0后,有了个新的容器初始化方法:AnnotationConfigApplicationContext 它的作用可以搜索包中被@的类和方法

 其中@Configuration是@component的意思,被当做一个组件处理    @bean是一个标签bean的作用(但是作用没有标签Bean广)

这种采用了以@Configuration和@bean-------->组件类加上移动版的xml配置(而且浓缩在一个类中)更为简便!



但是全注解方式功能没配置多,而且出现时间也较配置短,所以现在以配置为主注解为辅的配置状态是最好的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值