本文共 2176 字,大约阅读时间需要 7 分钟。
SpringSide 和 SpringSide-Utils 技术文档
SpringSide 简介
SpringSide 是一个基于 Spring Framework 的企业级应用开发框架,旨在为 Java EE 开发者提供一个实用且富有最佳实践的示例参考。它通过封装核心功能和提供模板,帮助开发者快速构建高质量的企业级应用。
SpringSide 的核心目标是:
提供基于 Spring 的企业级应用开发基础 展示 Java EE 开发中的最佳实践 包含完整的示例项目,展示现代技术的应用 其主要模块包括:
- SpringSide-Bookstore:一个完整的书店管理系统,涵盖前台和后台管理功能
- SpringSide-Core:SpringSide 的核心封装代码
- SpringSide-Templates:提供可复制的代码模板,支持快速开发
- SpringSide-Generator:自动化项目生成工具,支持代码生成和 Ant 脚本
SpringSide 的作者江南白衣曾对其进行了详细介绍,强调其作为一个实用性强、兼具现代化特色的框架。
SpringSide 4 技术选型
SpringSide 4 是 SpringSide 开发历程中的重要版本,标志着框架对新兴技术和最佳实践的全面支持。其技术选型主要包括以下几个方面:
Web 层
- MVC Framework:采用 Spring MVC 3.0,支持 Restful 风格开发
- Template Engine:推荐 JSP 2.0,尽量使用 EL 表达式,避免过度依赖 taglib
- CSS Framework:支持 Twitter Bootstrap,提供简便的布局和样式设计
- JavaScript/CSS Compressor:集成工具如 YUI 或Closure Compiler,优化资源加载
- Validation:集成 Validator,支持客户端和服务端双重校验
WebService
- RESTful Service:采用 JAX-RS 1.0,支持 Spring MVC + Spring RestTemplate
- SOAP WebService:基于 JAX-WS 2.0,适用于需要稳定性和兼容性的场景
- Restful Client:推荐使用 Spring RestTemplate,减少对第三方库的依赖
Database
- ORM Framework:使用 JPA + Hibernate,支持快速开发领域对象
- 传统数据库:推荐 PostgreSQL 或 MySQL,兼顾性能和可靠性
- NoSQL 数据库:推荐 MongoDB,适用于非关系型数据存储
- 数据库连接池:使用 Apache DBCP 或 Druid,确保高性能和稳定性
Services
- Security Framework:采用 Apache Shiro,支持基于角色的访问控制
- JMS:推荐 HornetQ 或 RabbitMQ,提供高效的消息中间件
- Schedule:使用 Spring Scheduler,支持 Cron 定时任务
- JMX:通过 Spring Jmx 将 POJO 转换为 MBean
Utilizes
- 日期处理:推荐 FastDateFormat,线程安全且性能优越
- 文本操作:提供 StringBuilderHolder 和 HashUtil,优化字符串处理
- 集合操作:集成 IntObjectHashMap、LongObjectHashMap 等高性能集合类
- 并发控制:使用 ThreadLocalRandom 和 LongAdder,优化并发场景
- 反射优化:通过 cglib 提供高效的反射调用
开发环境
- JVM:推荐 JDK 8,支持现代垃圾收集器
- 应用服务器:使用嵌入式 Tomcat 或 Jetty,减少部署复杂度
- 构建工具:优先使用 Maven 或 Gradle,支持多种项目类型
测试
- 单元测试:推荐 TestNG,提供强大的断言能力
- 模拟测试:使用 EasyMock 或 Mockito,支持复杂场景模拟
- 性能测试:推荐 JMeter,支持高负载测试场景
SpringSide-Utils 简介
SpringSide-Utils 是 SpringSide 项目中的一大升级,致力于封装大厂实践中的通用功能模块,提供高性能、可靠的类库支持。
其主要功能模块包括:
日期处理:提供高效的 DateFormatUtil 和 CachingDateFormatter 文本操作:支持 ThreadLocal StringBuilderHolder 和 HashUtil 集合操作:集成 Guava、Common Collections 等高性能集合类 并发控制:移植 JSR166e 项目,提供 ThreadLocalRandom 和 LongAdder 反射优化:基于 cglib 提供 FastMethodInvoker 异常处理:提供 ExceptionUtil,优化异常构造过程 系统属性管理:通过 SystemPropertiesUtil 提供可扩展的回调机制 SpringSide-Utils 的设计目标是通过封装最佳实践,帮助开发者获得最高效率的代码写作体验。
转载地址:http://vyyh.baihongyu.com/