Spring学习3

1Spring的aop

a:aop概念

1)aop:面向切面(方面编程),扩展功能不修改源代码实现

2)aop采取横向抽取机制,取代了传统纵向继承体系重复性代码

b:aop原理


c:aop相关术语

Jointpoint(连接点):是指那些被拦截到的点,在spring中 ,这些点指的是方法,因为spring只支持方法类型的连接点

Pointcut(切入点):是指要对哪些Joinpoint进行拦截定义

Advice(通知/增强):是指拦截到Jointpoint之后所要做的事情就是通知,通知分为前置通知、后置通知、异常通知、最终通知、环绕通知。

Aspect(切面):是切入点和通知(引介)的结合


d:Spring的aop操作

1)在Spring里面进行aop操作,使用aspectj实现

    (1)aspectj不是Spring的一部分,和spring一起使用进行aop操作

    (2)Spring2.0以后新增了对aspectj支持

2)使用aspectj实现aop有两种方式

    (1)基于aspectj的xml配置

    (2)基于aspectj的注解方式

3)使用表达式配置切入点

    (1)切入点:实际增强的方法

    (2)常用的表达式 execution(<访问修饰符>?<返回类型><方法名>(<参数><异常>))

            execution(* 增强方法的全路径.类.类中方法(..))

            execution(* 增强方法的全路径.类.*(..))

            execution(* *.*(..))

    (3)基于aspectj的aop操作

<!--1配置对象-->
<bean id="book" class="com.sun.aop.Book"></bean>
<bean id="myBook" class="com.sun.aop.MyBook"></bean>
<!--2配置aop操作-->
<aop:config>
    <!--配置切入点-->
    <aop:pointcut id="pointcut1" expression="execution(* com.sun.aop.Book.add(..))"></aop:pointcut>
    <!--配置切入面-->
    <aop:aspect ref="myBook">
        <aop:before method="before1" pointcut-ref="pointcut1"></aop:before>
    </aop:aspect>
</aop:config>

2log4j

1)通过log4j能看到更详细的信息

    (1)经常使用log4j来查看日志

2)log4j的使用

    (1)导入log4j的jar包

    (2)复制log4j的配置文件,复制到src下面

log4j.properties

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=c:\mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###

log4j.rootLogger=info, stdout

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值