本文为个人笔记,对于springmvc模块的规划,仁者见仁、智者见智,请不要生搬硬套。

一、基础模块-basic

主要内容是dao、spring-xml、domain、service等内容,模块内分层如下:

dao 持久层的实现主要有ibatis和mybatis,根据需要选择。

service

domain 实体类

rpc-api 接口层

web 服务发布层

dao层的注意事项:

<1> resource中除了配置各表的xml,还需要配置sqlmap-config。

<result property="enumCode" column="enum_code"/>

注意这条语句,它对数据库字段做了一个映射,前面是程序中实现的实体类,后面是数据库字段。

<2> 每个dao类都需要继承BaseDao。

<3> 顺便讲一数据库设计规范:见另一篇文章

二、服务层-service

<1> spring-mvc中需要进行注入,注入有两种方式:注解注入和set注入

a、注解注入方式

@Resource

private InsRiskRuleService insRiskRuleService;

b、set注入方式

public void setInsRiskRuleService(InsRiskRuleService insRiskRuleService) {

this.insRiskRuleService = insRiskRuleService;

}

<2>声明bean的两种方式: 注解和xml配置

a、注解的方式

@Service

public class InsRiskRuleService {......}

@Component

public final class PayClient {}

但是这个需要在spring-config.xml中进行配置注入,否则不起作用。

<context:component-scan base-package="com.jd.*">

<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>

<context:exclude-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>

</context:component-scan>

这个注解是把com.jd包下所有的@Compontant 及它的子类注解的类,生命为bean的方式

b、xml配置bean的方式

<bean id="insRiskRuleDao" class="com.jd.ins.risk.basic.dao.InsRiskRuleDao"/>

<bean id="insRiskRuleService" class="com.jd.risk.basic.service.InsRiskRuleService"/>

三、实体类层-domain

有一个生成快捷键:Alt + Insert 键。

四、接口层rpc-api

rpc-api层有两块的主要内容:接口Interface和DTO实体类(Data Transfer Object 数据传输对象)。

接口比较好理解,这里就不详细介绍了,主要讲一下DTO实体类。

之前我做接口的时候,自己使用的实体类和暴露给使用的是同一个实体类,这样就会有以下问题:(1). 有不需要传递的对象会传递了,浪费了资源。(2). 别一个就是你把你的隐私也暴露给别人了。因此这个DTO里只给对方需要的字段。

接口做好了,但是还需要实现,否则接口不清楚你要干什么。实现是要放到service层的,最好要和service分开,这样清晰、便于管理。实现类一般以impl为结尾。

五、应用层web

模块做好了,需要发布到站点别人才可以调用,所以就需要一个web服务层。

web层主要是对项目进行spring-mvc配置,还有一些常规配置,如用户名密码等。

关于WEB层的开发:

我们的整个框架使用的是spring-mvc,持久层使用的是ibatis,表现层使用的是vm,前端使用的是H5,数据库使用的是MySQL、MongoDB、HBase等。

SpringMVC项目模块浅析的更多相关文章

  1. 零配置简单搭建SpringMVC 项目

    SpringMVC是比较常用的JavaWeb框架,非常轻便强悍,能简化Web开发,大大提高开发效率,在各种Web程序中广泛应用.本文采用Java Config的方式搭建SpringMVC项目,并对Sp ...

  2. 利用Intellij+MAVEN搭建Spring+Mybatis+MySql+SpringMVC项目详解

    http://blog.csdn.net/noaman_wgs/article/details/53893948 利用Intellij+MAVEN搭建Spring+Mybatis+MySql+Spri ...

  3. C#开发微信门户及应用(43)--微信各个项目模块的定义和相互关系

    我们在开发微信相关的应用的时候,一般需要完善的基础模块支持,包括微信公众号,微信企业号,以及一些业务模块的支持,一般随着功能的增多,我们需要非常清晰的界定他们的关系.模块的分拆以及合并往往需要考虑的代 ...

  4. maven -- 学习笔记(四)实现在Eclipse用maven搭建springmvc项目(附构建步骤和详细实现代码)

    Learn from:http://www.cnblogs.com/fangjins/archive/2012/05/06/2485459.html,感谢楼主的分享,才有下面的这篇学习小结 一.环境准 ...

  5. 项目搭建系列之一:使用Maven搭建SpringMVC项目

    约定电脑都安装了eclipse,且已配置好Maven以及eclipse插件. 1.Eclipse 2.maven 3.Eclipse 需要安装maven插件.url:maven - http://do ...

  6. 044医疗项目-模块四:采购单模块—采购单保存(Dao,Service,Action三层)

    我们上上一篇文章(042医疗项目-模块四:采购单模块-采购单明细添加查询,并且把数据添加到数据库中)做的工作是把数据插入到了数据库,我们这篇文章做的是042医疗项目-模块四:采购单模块-采购单明细添加 ...

  7. springmvc 项目完整示例06 日志–log4j 参数详细解析 log4j如何配置

    Log4j由三个重要的组件构成: 日志信息的优先级 日志信息的输出目的地 日志信息的输出格式 日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来指定这条日志信息的重要程度 ...

  8. 使用Eclipse构建Maven的SpringMVC项目

    一.直接建立Maven项目方法1.建立Maven项目 接下来使用Eclipse的maven构建一个web项目,以构建SpringMVC项目为例: 1.1 选择建立Maven Project 选择Fil ...

  9. Eclipse的maven构建一个web项目,以构建SpringMVC项目为例

    http://www.cnblogs.com/javaTest/archive/2012/04/28/2589574.html springmvc demo实例教程源代码下载:http://zuida ...

随机推荐

  1. jquery <img> 图片懒加载 和 标签如果没有加载出图片或没有图片,就显示默认的图片

    参考链接:http://www.jq22.com/jquery-info390 或压缩包下载地址:链接:http://pan.baidu.com/s/1hsj8ZWw 密码:4a7s    下面是没有 ...

  2. xml配置

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name=& ...

  3. 项目()已配置为使用IIS Web服务器,但此计算机上...

    问题:x 就是要将一个项目,配置在IIS上,以前没遇上过这种开发模式啊... 解决方案: 0.如果配置为不使用IIS Web服务器,将Project.csproj中的" <UseIIS ...

  4. [No0000106]配置PLSQL,提升工作效率

    界面模板的配置: 方便用户快速点击需要的功能.如打开SQL Window 1.打开customize,用户自定义Toolbars对话框. 2.在Commands命令标签页,选中要添加的命令,拖动到工具 ...

  5. xCode 升级9.3之后巨卡

    因为项目要适配iPhone8, iPhoneX 等.需要升级Xcode需要升级到9.3.但是 MAC系统是10.12的,需要升级到10.13. 系统升级完之后升级Xcode.之后Xcode 就各种卡. ...

  6. MVC 实用架构设计(〇)——总体设计

    〇.目录 一.前言 二.结构图 三.结构说明 一.前言 一直以来都想写这个系列,但基于各种理由(主要是懒惰),迟迟没有动手.今天,趁着周末的空档,终于把系列的目录公布出来了,算是开个头,也给自己一个坚 ...

  7. saltstack安装配置使用记录

    安装 参考 http://docs.saltstack.cn/topics/installation/index.html#installation 选择对应的OS 配置 环境如下: master:1 ...

  8. I do think I can breakdown the problem into parts that make sense

    RESTful Web APIs_2013 An API released today will be named after the company that hosts it. We talk a ...

  9. [ovs] openvswitch ovs ovs-vsctl ovs-appctl 命令行参数自动补全 bash bash-completion

    1, 安装bash_completion: [root@vrouter1 ~]# yum install bash-completio 2,  找到你的ovs的补全脚本装在了哪里 [root@vrou ...

  10. 虚拟机窗口太小_设置分辨率(win8/win7)

    虚拟机安装了WIN7和WIN8系统后,安装了VMware Tools后窗口还是较小,需要调整虚拟机系统中的分辨率. 桌面右键->屏幕分辨率->设置成与主机显示器分辨率相近的即可.