JavaEye圈子:http://more.group.iteye.com/
它到底带来了些什么?:点击查看
欢迎大家关注,也欢迎大家加入More的圈子。目前More处在构建核心技术和稳定已有框架的阶段。在未来的规划中More会努力兼容领域模型开发和Rest架构开发,以及创建自己的特色。
More的宗旨是:
More Core
MoreCore是整个more框架的基石。它内置了ASM3.2框架、提供了JSON数据互转的支持、还提供了一个bean拷贝的工具、Task可以将任务分解开然后统一调度、除此之外还提供了IO工具和增强的属性接口Attribute。使用Attribute还可以设置属性的替换策略或锁定策略。
ClassCode是一个与CgLib奇虎相当的字节码工具,经过测试ClassCode的对象创建操作是CgLib2.2的14.3倍,在50万次Aop方法调用上ClassCode使用了16797毫秒,CgLib2.2使用了16515毫秒仅仅输给了282毫秒,这是Java的动态代理无法比拟的速度。不同于CgLib2.2的是ClassCode提供了对象附加接口实现功能,利用这个功能你可以向一个已经创建的类对象身上绑定新的原来没有实现的接口,同样的你也可以改写类来附加接口实现
Beans
负责为more提供ioc和aop的支持,使用Beans的aop不在依赖接口。beans还可以给一个对象附加任何接口实现(目前不支持rt.jar详细解决方案留意圈子),除此之外从alpha3开始beans支持注解方式简化Bean配置。该子框架的功能略见【版本历程】
Submit
内核框架,该组建是一个MVC框架。Submit的扩展有两个方向,一个是支撑环境另一个是外壳扩展。通过扩展外壳可以与各种容器框架集成,more在alpha版时就提供了Spring容器作为外壳。此外它还有一个beans的外壳提供。此外可以通过扩展支撑环境来达到各种领域延伸的目的。Web Ext模块中Action以及四种Web下Action调用的支持就是通过扩展支撑环境而实现的。
submit还具备参数作用域的特性,submit内核只提供了Context、Session、ActionStack三个变量作用域。而Web外壳下除了这三个作用域还提供了与web有关的另外五个作用域。
submit还具备Action请求拦截器的功能,不同于Struts2的是Submit不支持Results模板但是您可以通过返回值回调脚本来完成更强大的功能这个脚本完全使用JS编写。此外从alpha3开始Action的配置可以通过注解形式完成。该子框架的功能略见【版本历程】
Web Ext
Web Ext模块是More专门在Web环境中提供的特定工具或扩展,其中包括了分页标签、Submit的Web扩展、字符过滤器、ActionJS。更多的Web工具还在开发中。
Submit的Web扩展是提供Web MVC的一个web支撑环境,在web环境中提供了五种Action调用方式其中还包括了JavaScript方式调用从而省去了Dwr。使用页面预处理(标签调用)还可以体验到ASP方式的快速编码。除此之外在Web扩展中除了Submit核心3个参数作用域之外又提供了五个与Web有关的作用域它们是:JspPage、HttpRequest、HttpSession、Cookie、ServletContext。该子框架的功能略见【版本历程】
Extension
More目前已经集成了Spring,更多的第三方框架集成加入中...
alpha3更新说明:
beans v1.2(版本alpha3):
1.增加注解配置支持,至此xml配置与注解支持可以同时进行。xml的优先级高于注解。
2.可以注解配置Bean。
3.可以注解配置Bean的构造方法参数注入
4.可以注解配置Bean的Aop链。
5.可以注解配置附加接口实现,但是所有附加接口都使用一个接口处理委托。如果要一个接口对应一个委托只有xml配置支持。
6.可以注解配置属性注入。
7.注解配置支持以定义的基本类型和四种引用类型。
8.注解配置需要通过xml配置anno:anno标签。
9.通过anno标签可以开启注解配置以及配置beans的扫描路径。
10.重写了Resource接口的实现类。
submit v3.1(版本alpha3):
1.TopFilter类更名为SubmitRoot。
2.优化submit代码,减少了代码中new的操作。
3.修改submit的Config接口getInitParameter相关方法返回值为Object类型。
4.重写了submit的more和spring外壳提供环境使其更简化和直观。同时more和spring外壳支撑中加入了默认配置文件位置。
其中more支撑环境默认配置文件位置:/WEB-INF/more-config.xml
其中spring支撑环境默认配置文件位置:/WEB-INF/applicationContext.xml
5.CasingBuild增加缓存功能,可以通过cacheContext属性控制是否开启缓存,默认是开启的。
6.增加ActionObjectFactory核心接口,该接口负责创建、查找一切Action相关资源,同时该负责解析Filter注解。
7.支持注解化配置Action所有配置。