搭建新项目的步骤(一)

来源:互联网 发布:华安期货软件 编辑:程序博客网 时间:2024/05/19 16:38

对于自己从没有搭建过大型项目的菜菜,只是给大型项目做一些螺丝钉的拧紧工作,今天心血来潮,想剖析一下项目结构。下面就让我记录一下“庖丁”解牛,如果分析的不得当,还请拍砖。

从新建一个web工程开始,先从 WEBRoot目录web.xml 开始,个人觉得这个是最基本的配置文件先让我们来熟悉一下这里面的配置属性(parameter)。主要包括servlet、filter、listener等等。小弟也不懂,说实话我们从度娘里面找一找文章,膜拜膜拜大侠们分享的文章。

关于web.xml详细介绍,个人觉得还是这篇比较友爱:http://blog.csdn.net/guihaijinfen/article/details/8363839

我们还必须补充一点,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:listener -> filter -> servlet

同时还存在着这样一种配置节:context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息。我们的 listener, filter 等在初始化时会用到这些上下文中的信息,那么 context-param 配置节是不是应该写在 listener 配置节前呢?实际上 context-param 配置节可写在任意位置,因此真正的加载顺序为:context-param -> listener -> filter -> servlet

对于某类配置节而言,与它们出现的顺序是有关的。以 filter 为例,web.xml 中当然可以定义多个 filter,与 filter 相关的一个配置节是 filter-mapping,这里一定要注意,对于拥有相同 filter-name 的 filter 和 filter-mapping 配置节而言,filter-mapping 必须出现在 filter 之后,否则当解析到 filter-mapping 时,它所对应的 filter-name 还未定义。web 容器启动时初始化每个 filter 时,是按照 filter 配置节出现的顺序来初始化的,当请求资源匹配多个 filter-mapping 时,filter 拦截资源是按照 filter-mapping 配置节出现的顺序来依次调用 doFilter() 方法的。

       可以看出,web.xml 的加载顺序是:context-param -> listener -> filter -> servlet ,而同个类型之间的实际程序调用的时候的顺序是根据对应的 mapping 的顺序进行调用的。

回到我们的项目,我们主要看到的有filter主要是包括 字符编码的过滤器、以及登录之前的拦截;一个context的配置,关于Spring的配置文件地址的name:contextConfigLocation,value:classpath:applicationContext.xml; 还有一个基于Spring的listener和servlet的基本配置。这个就是菜菜的基本的web.xml配置了。

接下来,我们继续跟着这个web.xml配置下去,从类路径下加载Spring的配置文件,(context-param);这里面我们给定了一个加载spring的xml(applicationContext.xml),这个文件,我们也来分析一下,需要注意的是这个文件位于SRC目录下。

我们继续来找度娘搜索一下applicationContext.xml的配置问题。

这篇文章基本介绍了需要配置的,也许对于不同的项目会有一些区别。http://blog.csdn.net/heng_ji/article/details/7022171

我们可以总结出来需要配置的几个步骤:

1. 配置数据源

这里我们采用外部文件  jdbc.properties 来存储数据库配置的系数,方便以后更改。


2. 配置Service

3. 配置事务管理器

4. 配置 sqlSessionFactory 以及对应的 Templeta

注意这里引入了一个 papePlugin 插件,一个mybatis 的插件,这里不作过多的分析,后面分析。

5. 为Mybatis配置映射文件

基本上这些就是applicationContext.xml的配置了。这里主要采用了约定优于配置的方式,所有的包都采用com.mf.xxx.dao、com.mf.xxx.service、com.mf.xxx.service.Impl;这样就可以采用统一的通配符来寻找需要的文件了。





0 0
原创粉丝点击