当前位置:  编程技术>WEB前端
本页文章导读:
    ▪Spring中的Advice类型及其应用      ......
    ▪Spring 有生命周期的bean的依赖注入      ......
    ▪css的背景图片      css的背景图片是设计一个漂亮网页的关键之处background-imageurl("/blog_article/图片相对于样式表的路径/index.html")注意:url是图片相对于样式表的路径,而非相对于当前网页的路径,路径可以加引号也可以不加引号控制.........

[1]Spring中的Advice类型及其应用
    来源: 互联网  发布时间: 2013-11-06
  Spring中的Advice类型及其应用

      在Spring中,Advice都是通过Interceptor来实现的,主要有以下几种:

1. 环绕Advice:

//例子摘自Spring reference
public interface MethodInterceptor extends Interceptor {
      Object invoke(MethodInvocation invocation) throws Throwable;
}
public class DebugInterceptor implements MethodInterceptor {

    public Object invoke(MethodInvocation invocation) throws Throwable {
        System.out.println("Before: invocation=[" + invocation + "]");  //(1)
        Object rval = invocation.proceed();
        System.out.println("Invocation returned");  //(2)
        return rval;
    }
}

      环绕advice类似一个拦截器链,这个拦截器链的中心就是被拦截的方法。在程序(1)(2)我们可以加入我们自己的代码,以表示在方法执行前后我们需要干什么。invocation.proceed()方法运行指向连接点的拦截器链并返回proceed()的结果。

2. Before Advice

public interface MethodBeforeAdvice extends BeforeAdvice {
    void before(Method m, Object[] args, Object target) throws Throwable;
}

        一个更简单的通知类型是before 通知。它不需要 MethodInvocation对象,因为它只是在进入方法之前被调用。before advice的一个主要优点是它不需要调用proceed()方法,因此就不会发生 无意间运行拦截器链失败的情况。

3. After advice

public interface AfterReturningAdvice extends Advice {
    void afterReturning(Object returnValue, Method m, Object[] args, Object target) throws Throwable;
}

       一个After advice可以访问返回值(但不能进行修改),被调用方法,方法参数以及目标对象。

4.Throws Advice

//ThrowsAdvice 是一个空接口,起标识作用
public interface ThrowsAdvice extends Advice {

}
//所给对象必须实现一个或者多个针对特定类型的异常通知方法,格式如下
afterThrowing([Method], [args], [target], subclassOfThrowable)
//只有最后一个参数是必须的。因此异常通知方法对方法及参数的需求,方法的签名将从一到四个参数之间变化。

       最后还有一个是introduction advice,这个我想什么时候自己单独做个例子理解一下。

       做了个例子如下,想像一个用户登录场景:在登录之前,我们对其输入的用户名进行有效性检查;登录成功后,我们记上用户登录次数;如果登录失败,则进行异常处理。实现代码如下:

package com.learn.spring.test.advisor;
//登录的业务代码
public&nbs
    
[2]Spring 有生命周期的bean的依赖注入
    来源: 互联网  发布时间: 2013-11-06
  Spring 有生命周期的bean的依赖注入

Spring IoC容器不仅为你初始化对象,并且会为你关联那些互相协作的bean或者依赖,如果你想将一个生命周期为HTTP request的bean注入到另一bean中,你必须在这个bean中注入一个AOP代理,这个代理具有和这个bean相同的接口,当调用这些API的时候,实际会委托调用真实的对象。至于为什么要这么做,可以看下下面的例子。

[html] view plaincopy
  • <?xml version="1.0" encoding="UTF-8"?>  

  •     
  • [3]css的背景图片
        来源:    发布时间: 2013-11-06

    css的背景图片是设计一个漂亮网页的关键之处

    background-image

    url("/blog_article/图片相对于样式表的路径/index.html")

    注意:url是图片相对于样式表的路径,而非相对于当前网页的路径,路径可以加引号也可以不加引号

    控制重复

    background-repeat

    no-repet repeat repeat-x repeat-y

     

    控制位置

    background-position

    关键字 px em 百分比

    其中关键字包括,水平方向上的关键字 left center right 垂直方向的关键字 top center bottom 如果一个关键字省略,默认为center。

    em 是相对于字号,而百分比比较特殊,它的意思是将图片指定百分比处和相关元素对应的百分比对齐:

    如果百分比值只有一个,那么另一个值默认为50%

    注意:

    1 px em作用的是图片的顶边和左边,不能作用于图片的右边和下边,px em 百分比之间可以混用,但是它们都不能和关键字混用。

    2 px em适用于精确定位,但要使图片随元素的宽度变化而位置发生改变,百分比可以起到作用

    3 这个属性常结合background-repeat使用,控制图片重复的起点

     

    固定图片

    background-attachment

    fixed scroll

    快捷方法

    用background属性一次指定

     

    本文链接


        
    最新技术文章:
     




    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3