首先先得确定整体架构,一老同事这样跟我说
如果是应用类系统采用hibernate+spring,前台用extjs
如果是网站,可以直接用jsp+jquery,mvc直接自己写一个url mapping
我因为项目紧急,加上业务比较简单,仅采用spring
搭建好spring架构后,以下简单说一下花时间较多的地方。
一、持久层
其中涉及2个问题
第1个为选用连接池
我分别看了dbcp,proxool的源代码以及他们机制
dbcp是spring推荐使用,可能因为和spring无缝对接吧,但是网上评价不高,
而且依赖appache common-pool
proxool 有重连功能,且稳定性较高
因为赶进度,直接采用spring推荐的dbcp,因为没大规模测试,暂时还没发现有什么问题
第2个就是多数据库源,网上有很多例子,spring自带DynamicDataSource
二:日志记录
这个问题花了蛮多时间研究,因为之前对log4j一直停留在会用,
但是具体原理和配置一直没弄明白,这次研究还是收获蛮大,原来我以前接触的项目
其中用的log4j都没用到它的核心,而且使用也不是按作者本意进行。
log4j有2个概念,logger和appender,一个logger可以指定多个appender,一个appender可以服务多个logger的核心理念就是根据包名来控制日志级别,如我能控制到某个包如(org.springframework)下显示级别,这对我们调试问题提供了很大的灵活度
appender 主要控制输出,包括输出文件,格式等
关于日志还有一个概念,在appache下有2个子项目
一个是appache.common.logger类似hibernate的stf 日志门面,
一个是appache.logger
第一个是日志通用接口,日志门面,提供简单的控制台日志输出
第二可以说是第一个的实现,我们面向第一个进行编程,具体实现看个人喜好,可以采用
appache.logger或者logback
三:单元测试
说到单元测试,得说一些项目目录结构,我是采用src/main和sr/test
然后单元测试类的包名和被测试类一致
采用spring进行单元测试主要就是考虑如何加载applicationcontext
我抽想一个顶层测试类,该类继承AbstractJUnit4SpringContextTests,然后@ContextConfiguration进行置文件,且静态调用环境初始化方法(因为我想把db配置文件和日志配置文件统一到工程外,这就需要项目里引用的路径都是采用绝对路径,因为相对路径引用配置文件只能在工程内)
四:接口服务
因为我做的是一个支付中心,需要对外提供接口,研究了一下spring,几种主流方式(
soap,http,hessian,rmi等)都支持,为了简单起见,采用http,spring对http协议进行了封装(HttpInvokerServiceExporter),可以面向对象进行操作,底层通信交给spring。
五:编译环境
坚持web-inf\lib下不留jar,全部采用user_libray的方式。主要基于以下2个考虑
1、对jar进行分类管理,这样能清楚每一个jar的用途,而不会想以前不管有用没用都向lib里放
2、为以后改成maven项目做基础,因为项目紧迫,暂时没时间研究maven
六:spring
基本采用spring提供的注解 用到@service,@autowired
其中遇到一个问题就是servlet和filter中注入问题
因为servet和filter不属于spring容器管理,
不过这个问题spring都考虑到了,例如filer提供DelegatingFilterProxy
另外说一下spring自带的jdbcTemplate不怎么好用,调用存储过程的方法更是让我苦恼不少,最后研究了半天还是采用jdbc的connection.prepareCall方法
而且加载对象得写RowMapper感觉很麻烦,有时间还是想改成hibernate,感觉jdbcTemplate有点四不像,没有jdbc灵活,又没有hibernate那么丰满
分享到:
相关推荐
### Maven环境搭建与配置详解 #### 一、Maven简介 Maven是Apache下的一个开源项目,它是一种项目管理和...通过以上步骤,我们可以成功地搭建起一个完整的Maven环境,并利用Maven的强大功能提高项目的构建效率和质量。
* 项目体系分层: cn.itcast.elec.containner:自定义的spring容器,用于在控制层调用操作业务层 cn.itcast.elec.dao:项目的dao层,负责连接数据库的操作 cn.itcast.elec.daomain:封装实体对象(PO对象),对应...
SpringBoot 多模块项目框架搭建过程解析 SpringBoot 多模块项目框架搭建过程解析是指使用 SpringBoot 框架来搭建多模块项目的过程。该过程主要涉及到项目结构的设计、模块之间的依赖关系、配置文件的设置等方面。在...
本文档详细总结了Java项目本地环境搭建的过程,包括dubbo注册中心、zookeeper客户端、node前端服务器、前端常用框架vue等的安装和配置方法。 首先,对于dubbo注册中心的搭建,我们可以从github上下载相关的dubbo...
对于前端vue框架中JavasScript应用程序的模块打包器webpack搭建vue项目的具体步骤和详细的介绍
### Eclipsep Web项目环境搭建详解 #### 一、前言 在进行Web开发时,一个良好的开发环境对于提高开发效率至关重要。本篇文章将详细介绍如何在Eclipsep中搭建Web项目的开发环境,包括配置Tomcat服务器、设置JSP文件...
总结,使用Gradle搭建简单项目涉及安装Gradle、创建项目结构、编写构建脚本、编写源代码、构建和运行项目。同时,根据提供的文件,可能还需要考虑数据库初始化和代码集成。通过熟练掌握Gradle,可以更高效地管理和...
总结,iOS项目框架搭建是一个系统性的工程,涉及到项目结构规划、宏定义、自定义控件、依赖管理、设计模式以及测试等多个方面。理解并熟练运用这些知识点,将对提升开发效率和产品质量起到关键作用。
总结来说,搭建Dubbo分布式项目环境需要对Java环境、Maven、Zookeeper有基本的了解和配置经验,同时熟悉Dubbo的配置和使用。通过以上步骤,开发者可以成功地创建一个基础的Dubbo服务提供者和消费者环境,为后续的...
本文将详细阐述PMP框架和项目管理体系搭建的实践经验,结合项目实施经验,总结出 PMCOK 项目管理体系的目标、团队简介、流程核心、项目流程优化模型、工作计划、文档设计原则等方面的知识点,旨在为新手项目经理和...
VSCode 搭建 Vue 项目 VSCode 是一个功能强大且灵活的代码编辑器,Vue 是一个流行的前端框架。本资源将指导您如何在 VSCode 中搭建一个 Vue 项目,从安装依赖项到项目的创建和发布。 一、安装依赖项 1. 安装 Node...
### Hadoop集群搭建总结 #### 一、Hadoop概述与应用场景 Hadoop是一个由Apache基金会维护的开源分布式计算框架,其主要目标是处理大规模数据集的存储与计算问题。通过Hadoop,用户能够轻松地在分布式环境中开发和...
在所有软件安装和配置完成后,启动Eclipse,创建一个新的Android项目,如果能正常创建并看到虚拟设备(AVD)管理器,那就说明环境搭建成功。 整个过程中,关键在于正确配置环境变量,确保Java和SDK的命令能在命令行...
### Java初学者IDEA SSM项目环境搭建详解 #### 一、项目创建及配置 对于Java初学者来说,掌握如何使用IntelliJ IDEA创建并配置SSM(Spring + SpringMVC + MyBatis)框架项目至关重要。以下是创建项目的具体步骤: ...
总结起来,"ssm+maven多模块项目搭建"是一个涉及Spring、SpringMVC、Mybatis和Maven四个关键技术的项目实践,它展示了如何在Java Web开发中运用这些工具进行模块化设计和构建,以达到提高开发效率和代码质量的目标。...
### Java Web项目开发平台搭建详解 #### 一、概述 本文档主要介绍如何搭建一个完整的Java Web项目开发环境。此过程主要包括安装必要的软件组件、配置环境变量、设置开发工具等步骤,最终目的是为了能够顺利地开发...
Vue项目环境搭建是一个关键步骤,对于前端开发者来说,掌握这一过程是非常重要的。本文将详细介绍如何在Windows环境下搭建Vue项目的开发环境,包括安装Node.js、npm、Vue CLI等工具,并指导如何创建一个Vue项目。 ...
在提供的"ssm空项目"压缩包中,应该包含了已经配置好SSM框架的基础项目结构,开发者可以直接在此基础上添加自己的业务逻辑和数据模型,而无需从零开始搭建整个框架环境。这大大节省了开发初期的准备时间,让开发者...