Portal-Basic Java Web应用开发框架(简称 Portal-Basic)是一套功能完备的高性能Full-Stack Web应用开发框架,内置稳定高效的MVC基础架构和DAO框架(已内置Hibernate、MyBatis和JDBC支持),集成 Action拦截、Form Bean / Dao Bean / Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提供高度灵活的纯 Jsp/Servlet API 编程模型,完美整合 Spring,支持Action Convention“零配置”,能快速开发传统风格和RESTful风格的Web应用程序,文档和代码清晰完善,非常容易学习。
Portal-Basic 源码、示例及文档资源:请访问项目主页 ^_*
Portal-Basic 主要特点:
1) 功能完备:内置MVC基础架构、支持 Action 拦截、Form Bean / Dao Bean / Spring Bean 装配,提供可扩展的 DAO 访问接口、国际化、文件上传下载、缓存和页面静态化等常用 Web 组件,完美整合 Spring,能满足绝大部分 Web 应用的需要。
2) 轻量级:Portal-Basic 并没有对 Jsp/Servet API 进行过多的封装,用户仍然使用 Jsp/Servet API 进行开发,没有过多的迂回,因此性能方面得到保证。另外,Portal-Basic 为应用开发提供了多种 Util 类和方法,使用起来十分简便。
3) 容易掌握:由于没有对 Jsp/Servet API 进行过多的封装,因此用户只需具备一定的 Java/Jsp 知识就能很好的掌握框架的使用。另外,Portal-Basic 的 MVC 基础架构提供类似 Struts 的应用配置方式,用户能轻易过度到 Struts,同时也能为用户更深入理解 MVC 框架原理提供非常有用的参考。
Portal-Basic 2.6.2 更新:
1、增加 Spring 支持:
1) 增加 Spring 插件包 portal-basic-ext-spring-2.6.2.jar 用于整合 Spring
2) Action 通过 @SpringBean/@SpringBeans 注解声明 Spring Bean
3) Action 通过拦截器 com.bruce.ext.spring.SpringInjectFilter 解析 @SpringBean/@SpringBeans 注解并注入 Spring Bean
4) Portal-Basic 的 DAO 对象能声明为 Spring Bean,从而能在 Spring 环境下使用 Portal-Basic DAO 子框架
5) 示例工程 MyPortal 增加 Spring 整合示例
2、其他更新:
1) @FormBean、@DaoBean/@DaoBeans、@SpringBean/@SpringBeans 和 @Transaction 注解声明为 '@Inherited',子类可继承父类的注解
Portal-Basic 2.6.1 更新:
1、MVC 子框架升级:
1) 支持多入口 Action(请求格式:http://.../.../<action_name>!<entry_name>.<action_suffix>)
2) Action 拦截器的过滤规则可以细化到 Action 入口方法级别
3) @FormBean 注解可声明在 Action 的入口方法中(覆盖 Action 类定义中的 @FormBean 声明)
4) @FormBean 注解支持成员变量注入(即:属性没有定义公共 setter 方法的成员变量也能注入)
5) 增加 @DaoBean 和 @DaoBeans, 支持 DAO 对象注入(不用显式调用 FacadeProxy.create(...) 方法创建 DAO 代理对象)
6) 添加内置 Request Attribute -> '__base'(HTTP 请求的 BASE URL)
7) 添加内置 Application Attribute -> '__context'(Servlet Context 的 ROOT PATH)
8) 修改 base.jsp,用 {__base} 取代 {basePath}
9) MVC 配置文件支持多重“include”(即:从配置文件也可以“include”其它配置文件),并能自动过滤重复文件
10) 优化 MVC 框架的缓存机制,提升框架性能
11) 示例工程 MyPortal 增加 Freemarker 整合示例
2、DAO 子框架升级:
1) 增加 FacadeProxy.create(...) 系列 DAO 访问方法
2) 为 DAO 类添加 @Transaction 注解,与 FacadeProxy.create(...) 系列方法配合使用
3) FacadeProxy.create(...) 系列方法支持在 Action 中自动注入 DAO 对象(利用 @DaoBean 或 @DaoBeans 注解)
4) 优化 DAO 框架的缓存机制,提升框架性能
CodeProject