三层架构 :

界面层/表现层 UI

业务逻辑层 BLL 针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。

数据访问层 DAL 访问数据库

mvc :

而 MVC 是在三层架构的基础上设计的一种框架型架构,三层架构是一种宏观的概念,而 MVC 就是一种比较具体的三层架构的框架实现

View 同UI

Controller 用于将用户请求转发给相应的Model进行处理,并将处理Model的计算结果向用户提供相应响应。

Model 承载数据,并对用户提交请求进行计算的模块。其分为两类,一类称为数据承载Bean,一类称为业务处理Bean。所谓数据承载Bean是指实体类,专门承载业务数据的,如Student、User等。而业务处理Bean则是指Service或Dao对象,专门用于处理用户提交请求的。

常用项目分层:

备注: 此处model不同于mvc的model!

model层即entity层。存放我们的实体类,与数据库中的属性值基本保持一致,用于将数据变成java对象,提供给其他层使用。

mapper层即dao层,对数据库进行数据持久化操作,增删改查等,直接跟数据库打交道,他的方法语句是直接针对数据库操作的。

service层。存放业务逻辑处理,也是一些关于数据库处理的操作,不直接和数据库打交道而是通过mapper,提供和接口还有接口的实现方法,

项目实现(这里很复杂,注意每一步的意义)

Service接口           定义最基本的操作 增删改查

AbstractService类  实现Service接口 并导入mapper层(即使用mapper增删改查)

xxxxService接口     继承Service接口,传入model

xxxxServiceImpl类  实现xxxxService接口,继承AbstractService类(也导入了model)

mbg生成的查询都是特制的example,灵活性差

query类 接收参数生成自定义example

controller层,即控制器,controller通过接收前端传过来的参数进行业务操作,在返回一个指定的路径或者数据表。

导入service层,并使用service中的方法

java项目常用架构的更多相关文章

  1. java项目常用 BaseDao BaseService

    java项目常用 BaseDao BaseService IBaseDao 1 package com.glht.sim.dao; 2 3  import java.util.List; 4 5 6 ...

  2. Java基础学习总结(70)——开发Java项目常用的工具汇总

    要想全面了解java开发工具,我们首先需要先了解一下java程序的开发过程,通过这个过程我们能够了解到java开发都需要用到那些工具. 首先我们先了解完整项目开发过程,如图所示: 从上图中我们能看到一 ...

  3. JAVA项目常用异常处理情况

    Java异常处理 网络整理 这里是异常的说明: 算术异常类:ArithmeticExecption 空指针异常类:NullPointerException 类型强制转换异常:ClassCastExce ...

  4. Java项目常用的统一返回跟统一异常处理

    先创建一个crud的项目. controller调用service调用mapper 以下以简单代码代替 controller @GetMapping("/getUserById") ...

  5. maven3常用命令、java项目搭建、web项目搭建详细图解

    http://blog.csdn.net/edward0830ly/article/details/8748986 ------------------------------maven3常用命令-- ...

  6. Java 最常用类(前100名)来自一万个开源项目

    大部分的 Java 软件开发都会使用到各种不同的库.近日我们从一万个开源的 Java 项目中进行分析,从中提取出最常用的 Java 类,这些类有来自于 Java 的标准库,也有第三方库.每个类在同一个 ...

  7. JAVA项目中常用的异常处理情况总结

    JAVA项目中常用的异常知识点总结 1. java.lang.nullpointerexception这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用 ...

  8. maven3常用命令、java项目搭建、web项目搭建

    ------------------------------maven3常用命令--------------------------- 1.常用命令 1)创建一个Project mvn archety ...

  9. 转 maven3常用命令、java项目搭建、web项目搭建详细图解

    转自地址:http://blog.csdn.net/edward0830ly/article/details/8748986 ------------------------------maven3常 ...

随机推荐

  1. PHP面试题及答案解析(1)—PHP语法基础

    1. strlen( )与 mb_strlen( )的作用分别是什么? strlen和mb_strlen都是用于获取字符串长度.strlen只针对单字节编码字符,也就是说它计算的是字符串的总字节数.如 ...

  2. .Net开发复习与总结

    1.文件操作 1.1递归目录,查找所有文件 #region 递归目录路径 private List<string> GetDirs(string path) { string[] dirs ...

  3. 微软同步发行Windows 10和Windows 10 Mobile系统更新

    微软今天同步公布了新的 Windows 10 Redstone PC 和 Windows 10 Mobile 预览版. PC 版本是 Build 14271.Mobile 版本是 Build 1426 ...

  4. 在Linux平台使用VNC连接树莓派

    你的Linux发行版本号可能已经包括了Remote Desktop Viewer(远程桌面)程序.你能够通过这个程序使用VNC连接你的树莓派.通常能够在Applications/Internet菜单以 ...

  5. 连接redis失败,关闭防火墙即可

    因为linux上有防火墙,我用redis desktop manager 测试所以始终连接不上, 关闭防火墙: systemctl stop firewalld.service #停止firewall ...

  6. OpenGL/GLSL数据传递小记(3.x)(转)

    OpenGL/GLSL规范在不断演进着,我们渐渐走进可编程管道的时代的同时,崭新的功能接口也让我们有点缭乱的感觉.本文再次从OpenGL和GLSL之间数据的传递这一点,记录和介绍基于OpenGL3.x ...

  7. C++ Primer(第五版)读书笔记 & 习题解答 --- Chapter 1

    Chapter 1.1 1. 每个C++程序都必须有且只能有一个main函数,main函数的返回类型必须是int.操作系统通过调用main函数来运行C++程序. 2. 一个函数的定义包含四部分:返回类 ...

  8. bzoj3174【TJOI2013】解救小矮人

    3174: [Tjoi2013]解救小矮人 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 573  Solved: 293 [Submit][Stat ...

  9. 玩转JPA(一)---异常:Repeated column in mapping for entity/should be mapped with insert=&quot;false&quot; update=&quot;fal

    近期用JPA遇到这样一个问题:Repeated column in mapping for entity: com.ketayao.security.entity.main.User column: ...

  10. LeetCode_Minimum Depth of Binary Tree

    一.题目 Minimum Depth of Binary Tree My Submissions Given a binary tree, find its minimum depth. The mi ...