简单实现一个Web框架。
- 惯例优于配置
- 基于Java注解
- 将注解
@bean
注在类上,表明该类的实例化由框架管理。用到以下所有功能的类都要加上该注解。 - 将注解
@inject
注在成员变量上,表明该成员变量会根据类型进行自动注入。
- 默认使用Cglib动态代理。
- 约定拦截器包名为intercepter。
- 在被代理类上注上
@proxy
注解,表示该类被代理。 - 在intercepter包中的类的方法上使用
@BeforeMethod
,@AfterMethod
,@AfterException
实现代理的切点以及增强的功能。
- 约定定时任务包名为schedule。
- 在schedule包中的类的方法上使用
@Scheduled
表明该方法为定时任务。
- 在需要声明式事务管理的类加上
@proxy
注解。 - 在需要声明式事务管理的类的方法加上
@Transaction
注解。
- 约定控制器的包名为controller。
- 在控制器的方法上用
@requestMapping
实现url映射匹配控制器。