Spring应用开发常见规范
1、Spring应用开发常见包命名规范
- controller:控制器
- service:服务-接口
- impl:服务-实现
- integration
- sao:调用其他模块的,把feign的调用放到这个下面
- web:供前端调用
- remote:调用外部接口(其他模块提供的接口)
- api:各模块间的调用(对外的接口)
- openapi:对外的接口
- dao:持久层/mybatis接口
- entity:数据库实体
- mapper:持久层/mybatis实现
- vo:前端页面到controller的参数对象
- dto:调用接口传递使用(入参/出参)
- bo:在service层使用
- po:mapper数据库操作入参
- common:公共组件
- config:配置类
- utils:工具类
- constant:常量
- pojo命名:统一都是首字母大写
比如:PoDetailVO,PoDetailDTO,PoDetailBO
常用:
Bo : 前端请求/外部请求参数(入参),controller层
Po:service层
包目录结构示例:



1、提供给前端或者外部接口调用都是Controller。
2、remote包:@FeignClient 注解web接口映射(与外部接口Controller方法签名保持一致)
eg:@FeignClient(value = "ps",configuration = PSClientFallBlockFactory.class)
value是eruka上的服务名
--->接口相互调用,参数保持一致。
3、提供web接口的服务,一般将对外web接口写在controller api包中
--->eg:/ums/src/main/java/com/ppc/ibc/ums/pcf/controller/api/ApiUserInfoController.java
Spring应用开发常见规范的更多相关文章
- spring aop开发常见错误
1. Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreExcepti ...
- 使用 Spring HATEOAS 开发 REST 服务--转
原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-SpringHATEOAS/index.html?ca=drs-&utm_source ...
- 使用 Spring HATEOAS 开发 REST 服务
使用 Spring HATEOAS 开发 REST 服务 学习博客:https://www.ibm.com/developerworks/cn/java/j-lo-SpringHATEOAS/ htt ...
- Java避坑宝典《Java业务开发常见错误100例》上线了
写这个专栏的缘起 之前我写过一篇博客:<朱晔的互联网架构实践心得S2E2:写业务代码最容易掉的10种坑>,引起的关注还是挺多的.后来和极客时间的编辑一拍即合决定以这个为题写一个专栏.其实所 ...
- Android开发代码规范(转)
Android开发代码规范 1.命名基本原则 在面向对象编程中,对于类,对象,方法,变量等方面的命名是非常有技巧的.比如,大小写的区分,使用不同字母开头等等.但究其本,追其源,在为一个资源其名称 ...
- java开发命名规范(转载)
java开发命名规范 使用前注意事项: 1. 由于Java面向对象编程的特性, 在命名时应尽量选择名词 2. 驼峰命名法(Camel-Case): 当变量名或函式名是由一个或多个单字连结在一起,而 ...
- Spring Boot——开发新一代Spring应用
Spring官方网站本身使用Spring框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系.随着Spring 3.0的发布,Spring IO团队逐渐开 ...
- iOS扩展——Objective-C开发编程规范
最近准备开始系统学习一个完整项目的开发流程和思路,在此之前,我们需要对iOS的开发变成规范进行更系统和详尽的学习,随意对编程规范进行了整理和学习.本文内容主要转载自:Objective-C-Codin ...
- Spring MVC + Spring + Mybitis开发Java Web程序基础
Spring MVC + Spring + Mybitis是除了SSH外的另外一种常见的web框架组合. Java web开发和普通的Java应用程序开发是不太一样的,下面是一个Java web开发在 ...
随机推荐
- promise的一个简单易懂实例
Promise: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- table中thead固定一直在最上面
<link rel="shortcut icon" href="favicon.ico"> <link href="css/boot ...
- mysql 导入 导出
mysql导入导出sql文件 window下 1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u dbuser -p dbname ...
- pyc和pycodeobject
Python是一个先编译再解释的语言. 执行过程:先寻找pyc文件,找到则载入,没找到则把编译的结果保存在pycodeobject中,运行结束则写到pyc文件中
- 【算法笔记】B1004 成绩排名
1004 成绩排名 (20 分) 读入 n(>0)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 ...
- OJ 21658::Monthly Expense(二分搜索+最小化最大值)
Description Farmer John是一个令人惊讶的会计学天才,他已经明白了他可能会花光他的钱,这些钱本来是要维持农场每个月的正常运转的.他已经计算了他以后N(1<=N< ...
- python中各进制之间的转换
偶然翻看进制转换的内容.这里简单做一个记录吧. #十进制转换二进制 >>> bin() '0b1010' #十进制转换十六进制 >>> hex() '0xa' #二 ...
- [转] Linux命令——timeout
[From] https://blog.csdn.net/xiaqunfeng123/article/details/54315390 Linux命令——timeout 命令简介 运行指定的命令,如果 ...
- Scrapy错误-no active project Unknown command: crawl
在运行别人的scrapy项目时,使用命令行 scrapy crawl douban(douban是该项目里爬虫的名字,烂大街的小项目---抓取豆瓣电影). 执行之后,出现报错如下: 上网搜寻无果. 大 ...
- PIE SDK矢量自定义渲染
1. 功能简介 PIE SDK中关于矢量渲染提供了多种方案,包括简单渲染.分级渲染.唯一值渲染,这几种渲染方式具有一定的通用性,可以满足用户绝大多数的需求. 当面对复杂的业务,当前渲染方案无法满足用户 ...