模仿spring,自定义的一个mvc框架,有ioc和aop功能,全部采用注解的方式

阿里云code地址:http://code.taobao.org/svn/customSpringMvc/

源代码下载地址:http://download.csdn.net/detail/ping1185279685/9761977

下面是框架使用说明:

整个请求完整流程:

首先,容器启动 执行上下文监听器期,完成bean的实例化,类字段的注入,请求路径的关联(关联bean的map的key值和controller的method),完成aop代理的使用的回调实例

然后,浏览器/移动端请求过来,DispatherServlet拦截到请求执行拦截器,其次获取到requestUrl然后获取到相应的controller和待执行的controller的方法,然后通过反射执行method,完成请求。

1.实例化bean的注解(拥有这些注解就会实例化同时也会注入包含字段):

@Controller(类似于springmvc的controller):

这个是请求过来执行完拦截器后调用的类

@Interceptor拦截器注解:

如果要实现拦截器功能,就必须在类上面加入注解@Interceptor,并且指定注解的值order(拦截器执行的顺序),同时实现抽象类AbstractInterceptor的handlerInterceptor()方法来执行相关的业务

@AutoWire注入字段注解:

如果在类的字段上加入了这个注解,那么容器初始化的时候就会给类的实例初始化对应值(保存在程序上下文当中)

@RequestMapping映射路径注解

该注解可以注释在类和方法上,注解属性value指定了映射路径。程序在初始化的时候 保存了路径和bean名字映射map及路径和method映射map

@Service

实例化类实例注解,注解属性name指定了实例名称,并把name属性或者类名做key  实例做value保存在map当中

2.aop动态代理注解:

@AfterAdvice、@BeforeAdvice、ThrowingAdvice前置通知注解:

如果要实现前置通知功能,就必须在类上加入注解@AfterAdvice,并指定注解的callBackVal值(当存在多个aop功能的时候,这个值用来标记执行哪个通知),同时要实现接口Advice,并且实现对应方法

@JDKProxy代理注解:

在类上加入这个注解表明这个类要被jdk动态代理,需要实现aop功能。并且指定该注解的callBackVal用来关联哪些通知。

注:只用这个注解必须是该类有实现的接口

@CGLibProxy代理注解:

在类上加入这个注解表明这个类要被cglib动态代理,需要实现aop功能。并且指定该注解的callBackVal用来关联哪些通知。





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值