前言
ssi框架是SpringMvc+spring+ibatis的缩写,是一个比较古老的框架了。之所以要总结自己对这个框架的看法,是因为我在所工作的公司现阶段的主要任务是维护以前的一个老项目,偶尔有新需求就添加一些新功能。所以,对于我来说熟悉这个框架是非常重要的,不仅能提升对项目的熟练度,还能熟练的让项目在不同的环境下能跑起来。对SSI框架的解析
1、项目架构
我练习搭建SSI框架使用的是Myeclipse 10,项目大体架构分为:实体层Domain 用于存放实体类文件
数据操作层Dao 存放与数据可以相关操作的接口
|--dao层实现 用于实现dao层相关接口的类
|--sql 用于ibaits操作数据库的Sql的相关xml文件
服务层Service 存放业务需求所需的接口
|--服务层实现 用户实现service层相关接口的类
控制层Controller 主要是用于和前端打交道的层,存放一堆控制器
2、配置信息
2.1 web.xml
相信这个配置文件大家都很熟悉吧,web项目必须要有的配置文件,我本次练习主要用得到主要是用于加载spring容器、配置编码过滤器、配置前端控制器2.2 spring_mvc.xml
springmvc框架的核心配置文件主要用来配置控制器扫描包、使用springmvc注解驱动、配置视图解析器
当然了,这里还可以配置其他的,如自定义视图、使用restful风格的时候静态资源无法被pringmvc处理也是在这里配置
2.3 spring_core.xml
这个配置文件我是用来整合spring核心配置文件的,作用就是把applicationContext_dao.xml、applicationContext_service.xml、applicationContext_trans.xml统一引入一个文件中,在web.xml中直接加载这个xml就可以加载spring容器的相关配置文件了2.4 applicationContext_dao.xml
这个配置文件主要是配置ibaits和spring整合的相关配置。加载参数文件、配置数据源、引入SqlMapConfig.xml配置文件和配置ibatis需要的数据源、配置SQLMapClient的bean、配置dao层实现类2.5 applicationContext_service.xml
这个配置文件主要就是配置指定service层扫描包2.6 applicationContext_trans.xml
主要用来配置事物相关的配置,建议使用xml方式配置。需要配置事务管理、通知、切面
2.7 SqlMapConfig.xml
ibatis的核心配置文件,主要配置ibaits的核心属性还有一个特别重要的作用就是找到dao层操作sql语句的xml文件
2.8 接口名.xml
操作数据库的xml,编写sql也是在这里面,给实体类起别名一般是在这里,然后就是编写相关sql语句了2.9 properties参数文件
主要配置驱动名、url、用户名、密码还有一个log4j配置文件,是用来处理日志相关的
3、所用到的jar包
aopalliance-1.0.jar --事务相关asm-3.3.1.jar
aspectjweaver-1.8.4.jar --事务相关
cglib-2.2.2.jar --代理相关
commons-codec-1.6.jar
commons-collections-1.0.jar
commons-fileupload-1.2.2.jar
commons-io-1.3.2.jar
commons-lang3-3.1.jar
commons-lang3-3.4.jar
commons-logging-1.2.jar
commons-pool2-2.0.jar
db2jcc.jar --db2数据源连接包
dom4j-1.6.1.jar
druid-1.0.9.jar --阿里巴巴连接池
hamcrest-core-1.3.jar
ibatis-2.3.4.726.jar --ibaits核心包
jackson-annotations-2.4.0.jar --ajax相关
jackson-core-2.4.2.jar --ajax相关
jackson-databind-2.4.2.jar --ajax相关
json-20131018.jar --ajax相关
jstl-1.2.jar --jsp标签包
junit-4.12.jar --测试包
log4j-1.2.17.jar --日志相关
org.apache.axis2.eclipse.codegen.plugin_1.6.2.jar
org.apache.axis2.eclipse.service.plugin_1.6.2.jar
org.springframework.aop-3.0.6.RELEASE.jar --spring相关
org.springframework.asm-3.0.6.RELEASE.jar
org.springframework.aspects-3.0.6.RELEASE.jar
org.springframework.beans-3.0.6.RELEASE.jar
org.springframework.context-3.0.6.RELEASE.jar
org.springframework.context.support-3.0.6.RELEASE.jar
org.springframework.core-3.0.6.RELEASE.jar
org.springframework.expression-3.0.6.RELEASE.jar
org.springframework.jdbc-3.0.6.RELEASE.jar
org.springframework.orm-3.0.6.RELEASE.jar --ibatis和spring整合包--目前发现4.*的没有ibaits相关
org.springframework.test-3.0.6.RELEASE.jar
org.springframework.transaction-3.0.6.RELEASE.jar
org.springframework.web-3.0.6.RELEASE.jar
org.springframework.web.servlet-3.0.6.RELEASE.jar
slf4j-api-1.6.6.jar
slf4j-log4j12-1.6.6.jar
standard-1.1.2.jar