1 Star 0 Fork 0

冯小春 / primus

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Primus 博智互联网电商平台


关于项目

本工程基于JDK1.8进行开发,使用IDEA作为IDE,management-*使用tomcat8.0以上容器运行

关于lombok

本工程使用了编译时库lombok,通过@Getter,@Setter,@Data,@Slf4j等注解,在编译时生成对应的方法与字段. 为获得良好的开发体验,请自行寻找并下载lombok插件.

为了项目简洁,请所有PO,RO,VO等POJO全部使用lombok来替代getter,setter

代码规范

本工程遵循阿里编码规范参考手册 (Alibaba Java Coding Guidelines),请安装阿里近日发布的代码规范插件,并且保证自己提交的代码能通过插件检查. idea可以直接在插件库搜索到这个插件.

文档

工程文档

常见问题

模块结构及包名约定

app 终端应用/接口模块,包括bbc商城网站,手机app的接口服务器,微商城的接口服务器

标准包名:`com.biz.primus.app.{子工程名}.{项目包}`
例如对于BBC网站(ui)的controller包,应该是
com.biz.primus.app.ui.controller

infrastructure spring-cloud的基础设施

标准包名:com.biz.primus.infrastructure

base 项目基础包

标准包名:com.biz.primus.base.{子工程名},
如果子工程中有biz-,则去掉,例如:com.biz.primus.base.redis

model 微服务对应的vo和Exception封装包

标准包名:
com.biz.primus.model.{服务名}.vo
com.biz.primus.model.{服务名}.exception

management 微服务对应的管理模块

标准包名:com.biz.primus.management.{服务名}

service 微服务模块

标准包名:`com.biz.primus.ms.{服务名}`
子包: 
    dao.repository, dao.redis, dao.po, dao.ro: 服务的dao层
    service: 微服务的服务层
    api: 微服务的接口层(controller)
例如stock服务包含以下包:
    com.biz.primus.ms.stock.dao.redis
    com.biz.primus.ms.stock.dao.ro
    com.biz.primus.ms.stock.service
    com.biz.primus.ms.stock.api

配置文件约定

  • 配置文件全部使用yml格式
  • 所有自定义配置全部以primus开头
  • 所有的自定义配置都使用@ConfigurationPropertiesspring-boot原生集成 示例代码:com.biz.primus.ms.base.config.JedisConfiguration.RedisProperties
  • 注意区分不可刷新配置和可刷新配置,在制定属性namespace时就考虑将两者分开
  • 每个spring-cloud应用只能包含一个bootstrap.yml配置文件,该文件中只能写config-serverapplication-name相关配置
  • 其他配置文件必须以{applicationName}-{profile}.yml的形式放在/config-repo目录下
  • 本地环境的配置以application-dev.yml的命名放置在资源文件夹,该文件是被.gitignore忽略的,可以任意修改不必提交.
  • 远程环境的配置以{applicationName}-{profile}.yml的形式放在/config-repo目录下

PO设计原则

除非对象之间的关系是组合关系,否则不能使用强关联, 也就是@OneToOne,@OneToMany,@ManyToOne,@ManyToMany,@ElementCollection等注解. 所有强关联必须转换为相应的id引用.例如:

//假设有这样的po
public class Order{
	@ManyToOne
	private User user;
	//其他属性
}
public class User{
	@OneToMany(mappedBy="user")
	private List<Order> orders;
	//其他属性
}

这样的代码必须修改为

public class Order{
	private Long memberId;
	//其他属性
}
public class User{
	//其他属性
}

.

空文件

简介

暂无描述 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/cohesion/primus.git
git@gitee.com:cohesion/primus.git
cohesion
primus
primus
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891