大型的java web项目 如何多人协作 而且保证自己小组的功能模块不被其他人看到 10C

一个大的 javaweb项目 用 spring springmvc mybatis框架编写 如何保证代码的安全性 核心的业务代码不想让所有的开发人员 查看更改 而且项目是多人合作,后台管理都集中在一个管理页面

0

8个回答

使用类似dubbo等分布式框架 或者使用spring-cloud 微服务模式 核心服务和常规服务分开

1

如果是传统集成式后台(核心代码和非核心代码都放一起),代码是不容易拆分的,因为在一个项目下,开发人员都有权限clone开发代码(可以考虑jar包封装,代码加密)。
如果是微服务后台就简单许多了,根据业务拆分成不同项目,分配不同权限就可以了。 (推荐)

1
u012503756
bulidfer 核心源代码核心模块 不能让所有开发人员查看和修改
12 个月之前 回复

功能拆分出来以jar包的形式加入项目中

0
u012503756
bulidfer spring cloud 微服务管理 去中心化的管理应该会比较适合多人开发
12 个月之前 回复
qq_26346941
Barryqq 回复u012503756: 看业务量,业务多建议拆分,业务量少拆不拆无所谓;感觉工程乱,是项目结构没有规划好,功能没有按规范创建文件目录吧
12 个月之前 回复
u012503756
bulidfer 后台的工程统一好 还是 一个小组建立一个 工程 感觉好乱 后台管理页面想统一管理 参考阿里云那样的后台
12 个月之前 回复

用代码版本控制工具如svn,git

0
lipeijie163
LIPJ 回复jsczfyg: 我的意思是一个模块作为一个git项目,每个模块独立部署
12 个月之前 回复
jsczfyg
jsczfyg 代码版本控制是不行的 git没有分支权限控制的 只有项目权限控制
12 个月之前 回复

这个需要持续集成框架和源代码管理,每个人的源代码提交到源代码管理服务器,然后再自动构建,返回一个完整的软件。编写某部分程序的程序员自然就不能接触到和它无关的源代码了。

持续集成比如说有Jenkins,源代码管理没什么选择了,自从git出来以后,别的都基本没人用了。

0

核心的功能单独放到一个项目里面,对外只提供api,采用RPC Service 方式提供服务就好了,其他人只能看到api,剩下的都看不到
项目用git管理,配置好权限

0
weixin_42920757
小小菜鸟2020 感觉你没理解项目加厚,既然你不对外提供接口,那么其他模块用到你的模块的话肯定能到你的代码,不然其他模块项目本身就无法运行。
12 个月之前 回复
u012503756
bulidfer 我的意思不是对外提供接口 而是 内部很多程序员 核心代码只能部分人员read 和clone
12 个月之前 回复

源代码是集中到统一的一个 大的project 还是 分成 多个 小的project 每个组负责一个project 维护很麻烦 核心开发人员需要掌握所有代码统一管理

0

把各个模块全部做成微服务就ok了,每个模块都是一个服务,之间就是服务调用,不知道核心逻辑,只能调用,每个模块每开发一个功能,就写一个服务文档(对暴露的功能),然后调用者看文档调用,现在比较流行的试springboot+spring cloud,老一点就是dubbo+zookper,a模块使用b模块去b模块的注册中心拿服务就行了,源代码完全封闭

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何保证API不被别人恶意调用(彩蛋)
这两天比较悠闲,有很多时间可以用来写文章。扯扯淡,哈哈哈今天给大家分享一个纯业务的的东西,也会有代码辅助,但是不多。看名字是不是都觉得很屌哈哈哈哈哈哈哈。 博主是一个标题党。 先给你们上一张小编自己画的图吧。我不知道大家写APi的时候有没有这样的疑惑。。 就是api频繁被恶意调用,有没有这种的,我擦我新写的接口又被爬去了,竟然拼接了参数来不断请求。哎。。。。。 来听小编发生在自己身上...
在MyEclipse中使用SVN进行多人协作开发
本次项目开发我们小组的人员虽是分工合作,但是每次完成了自己的功能都特别痛苦得一点点整理到一起,主要原因是对SVN这个东西多个人就不知道怎么在MyEclipse中去运用它,我一个人的上传更新还会弄,但是别人只能看我的项目不能对其进行修改,一改就废,所以我也很无语只能用最傻的办法来一点点的往我的项目上码代码,现在项目已经做完了,才搞清楚到底多人合作是怎么弄的。 主要原因就是我共享了我的项目之后,我以为
如何使他人访问本地的Java Web应用
近期偶尔要展示一下项目的功能,想到把程序打包发给别人跑很不方便,就上网查了一下如何让别人远程访问本地的项目,总结了两个非常简便但是不持久化的方法。1.同一局域网下注意:此种情况下,本机(运行Java Web服务的PC机)和客户机(想要访问Java Web服务)必须在同一局域网内,例如都连着同一个无线路由器。将项目部署到Tomcat上并启动,并在命令行通过ipconfig命令查看无线局域网适配器WL...
git多人协作的代码冲突问题
现在有两个人共同开发一个项目,分别开发a.py b.py,这是开发a修改了开发b的代码 b.py,而开发b并不知道。 push到远程仓库。 开发b也修改了b.py,在开发b pull代码后发现代码冲突 此时把冲突的部分删除,保存在push即可。 MERGING存在说明冲突没修改掉。...
使用Gitee多人项目协作开发的流程
多人协作开发流程 Step0 所有组员在Gitee上注册账户 http://gitee.com Step 1 组长创建项目例如:CoperationDemo Step2 组长将项目组成员拉进项目,成为开发者 等待其他用户同意邀请 Step3 其他组员同意加入项目,并成为正式开发者 其他成员登录码云,然后同意加入项目。就可以成为项目的正式开发者了。 Step4 各位成员clone项目...
本机上的Web网站如何让其他人访问?
因为项目是部署在你机器上,所以他们需要通过你的ip来访问。 如果是局域网内的话, 你先查询出自己的IP地址,打开命令提示符: 输入:ipconfig 然后就将其修改为(比如): 你的局域网的IP地址+你的Tomcat的端口号+工程名在浏览器中输入上面的地址就可以访问了。 如果你企图公布在互联网上访问,则需要你是直接ADSL拨号上网 或者拨号路由器配置暴露你本机的服务端口。
如何去保护(防止)自己的Java应用程序源码(JAR, SERVLET, CLASS, APPLET)不被其他人逆向工程?
如何去保护(防止)自己的Java应用程序源码(JAR, SERVLET, CLASS, APPLET)不被其他人逆向工程
JS代码如何不被别人看到?
https://blog.csdn.net/qq_16559905/article/details/51932653
Eclipse上使用Git进行多人合作开发
1.安装git 安装 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/ 这里有一篇教程,写的很好,大家可以先去看一看,主要是用命令操作git的。2.Eclipse上配置Git2.1 生成ssh-key 在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id
如何保证进程不被杀死的几个办法
前言 开发一个需要常住后台的App其实是一件非常头疼的事情,不仅要应对国内各大厂商的ROM,还需要应对各类的安全管家…虽然不断的研究各式各样的方法,但是效果并不好,比如任务管理器把App干掉,服务就起不来了…  一般来说:有以下几种可行的方法来使自己的进程不被杀死 1、提高Service的优先级:这个,也只能说在系统内存不足需要回收资源的时候,优先级较高,不容易被回收,然
gitlab实现多人协同
1.注册登陆gitlab官网,配置个人信息 gitlab官网地址:https://about.gitlab.com/ 可以选择github账号登陆,登陆成功在个人中心设置SSH密钥(很关键),设置密码 设置成功后,添加一个project 2.创建项目 创建成功,进入项目界面 这里,可以创建新分支,可以和你的小伙伴们协同 3.添加成员 进入项目详情,在setting里的m...
Java本地的项目,怎么可以让别人通过外网访问-内网穿透
一、点击链接 https://natapp.cn/ 注册个免费的账户 NATAPP官网 二、登陆进去以后查看authtoken。复制这个,等下要在客户端用到! 分配的authtoken 三、点击个人中心,稍微做一下配置: 简单的配置 四、点击官网的立即下载 下载windows x64位的客户端 下载 五、windows 系统下 双击这个出现这个界面 启动 六
如何保证Service在后台不被杀死?
一、前期基础知识储备(1)为什么要保证后台Service不被杀死?提高应用存在感。对于大厂的应用来说,其程序“活着”不是问题,但是为了带来更好的用户体验,提高用户粘性,就需要尽可能调用程序更多的服务,这样才能带来更多的用户体验(不一定更好,但是数量占优);对于小家来说,尽可能的让程序“活着”是它们的第一要务,通过后台服务的方式让应用存活在用户手机里也是一种存活的方式。(2)后台Service真的可...
Postman高级应用(12):你不是一个人在战斗——团队协作
很多时候会发生这样的情况,你和同事们各自在Postman上辛辛苦苦的维护了自己的一套API,这显然是不科学的。有人会想到通过数据导入和导出功能实现,但这显然不是长久之计。我们提倡团队内部应该共享信息,像维护公司wiki和代码仓库一样,维护整个团队或者说是某些微服务的API。Postman提供的团队协作功能让我们很方便的一起维护API,而且还是免费的。
Git多人协作
一、让本地代码与远程仓库关联起来。 1、本地代码生成仓库并提交 git init git add --all git commit -m “init” 2、给本地仓库关联一个远程仓库。 git remote add origin xxxx.git 3.将本地master推送到远程库,并指定push命令的默认远程库。 git push -u origin master 还有一种...
Git的多人协作和分支处理测试
首先配置ssh密钥 克隆项目 配置两台主机(一台本地mac,一台云服务器)通过这样的方式模拟多人开发。 创建分支 [vip@g1-db-test-v06 ~/Git_test_多人协作和冲突合并/branch_test]$ ls README.md [vip@g1-db-test-v06 ~/Git_test_多人协作和冲突合并/branch_test]$ git branch * maste...
大型Java web项目分布式架构演进
阅读链接1: https://blog.csdn.net/u011001084/article/details/54666662 阅读链接2: https://www.cnblogs.com/smallSevens/p/7476838.html
多人合作开发项目时出现的问题总结
我于2018年6月8日至2018年7月20日与A,B,C三人使用.net共同开发一个关于安全教育平台的项目。 到今天,心态终于即将崩溃。下面我主要就合作开发的方面总结问题。 1、技术能力层次不齐。 A,B,C三人中除了A勉强能够帮我写一点后台与数据库交互的代码,基本上帮不上忙。而B呢,我直接把她打上了杂工的标签,负责上网找资料,找资源,至于C,基本上我可以给他打上一个混子的标签了。在共同开发...
Push模式
授权 如果自己本身是项目的创建者,则无需进行授权。 如果自己不是项目的创建者,但想成为项目的协作者并使用Push模式进行多人协作,那么要获得对原始项目进行修改的权限,有以下两种方式: 1、在项目中添加协作者 2、组建一个团队,并以团队创建项目 填写团队基本信息: 邀请团队成员: 创建团队项目: 将远程分支Clone到本地 1、Clone项目 可以直接...
Quip多人协作在线编辑文档
Quip多人协作在线编辑文档
Git入门——分支的基本使用与'合并'、'多人协作'常遇到的问题
1.基础概念与方法借用廖雪峰老师的形象的例子: 分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。 如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN! 一般来说,分支是不仅仅只有主分支的, master分支是主分支,因此要时刻与远程同步;
Android开发 保证软件不被杀死的1001种方法
呵呵,标题只是吸引大家点进来而已,切勿当真。 大家知道作为一个合格的国产流氓手机软件,不能后台自启、不能唤醒全家桶、不能顽强到杀不死、不能保持连接,是会被大家鄙视的。 现在越来越多的大企业加入了全家桶行列,像什么百度啊、腾讯啊、阿里啊、网易啊,现在路子都挺野的,如果不装个冰箱、绿色啥的,随手打开一款软件,状态栏随时会蹭蹭蹭冒出一大堆通知消息,不仅如此,当你尝试按正常步骤退出软件、甚至清掉后台U
守护进程方式保证App不被杀死
思路 linux进程中用到的方法 代码 1 linux进程部分 2 App部分 3 Androidmk部分转载请注明链接因为Android的内存管理机制,当系统内存紧张时,App如果运行在后台,容易被LowMemoryKiller杀死。为了保证App的Service能够在杀死后重启,下面介绍一种在进程杀死后能够重新拉起App的方式。1. 思路:简单来讲,就是开启linux守护进程,轮询App进程是否
leetcode学习其他人的代码
最近刷leetcode时发现了一个比较好的学习方法, accept后,可以查看其他人的代码,对比自己的,可以学到很多精妙的思路。 例如,这道题目,求出一个列表的所有子列表: If nums = [1,2,3], a solution is: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]
Github多人协作
最近有门课程需要几个人一起开发一个项目,此前我们基本都是单干的,多人合作意味着需要及时将我们每个人的代码进行合并,U盘传文件这种方式太慢了,效率不行,而且没法解决两个人同时修改一个文件的问题,这次我们就尝试使用Github来协助开发。下面就来记录一下这次开发遇到的一些问题和解决的方法。 Git的安装 从官网下载最新版按照默认安装即可。 此处不多加说明。 Git常用命令 在此放上一...
使用gitlab时多人协作流程总结
  Git诞生于2005年,大神Linus的作品,Github诞生于2008年,没有Git就没有GitHub,Github已成为全球最大的代码开源社区,注册免费用户即可在Github上免费托管开源代码,如需建立私有仓库必须付费。那么Gitlab又是什么?    GitLab和GitHub一样属于第三方基于Git开发的作品,免费且开源(https://github.com/gitlabhq/gitl...
创建github项目clone到本地并上传到github上简单步骤
如何创建一个git项目在自己的github官网上找到 Repositories-》new->填好name 和选择好 public 最后 点击create repository即可创建啦,一般都选public作为公用的项目。如何把刚才创建的项目拉到本地进行开发呢 运用git clone 你的项目地址 根据自己的项目需要做好配置 最后就是项目开发啦 从把项目clone到本地,到开发结束,我们都面临一个过
github的git上传命令的使用以及多人协作
一、文章前言本文将讨论什么是github,为什么要用github,怎么使用git上传命令?github多人协作是什么,为什么要使用多人协作。 二、git上传命令的内容1.什么是github   1)gitHub是一个面向开源及私有软件项目的托管平台,(就是说可以将自己的项目传到所谓的云端让github替你保管,支持代码上传,同步,以及回滚)因为只支持git 作为唯一的版本库格式进行托管,故名gitH
如何实现 Excel 多人共享与协作
Excel 用途广泛,是最简单、最流行的数据管理工具,但 Excel 文件通常掌握在个人手中,各人之间互不相通。因此,如何实现多人操作同一份 Excel,从而实现信息共享与协作,就变得很有意义。 本 Chat 讲述 4 种 Excel 共享方案,能让您较全面了解简易型的信息共享方法。 主要内容如下: Excel 共享必要性 共享方案概述 方案一:使用共享文件夹 方案二:使用 Excel Onli...
Linux中利用简单脚本杀死不被保护的进程
结合了python中可以调用shell命令的特性的小练手新手上路请多指教。目前存在问题:1.会出现两个并不存在的pid2.获得名单中存在PID这个元素无法剔除3.白名单需要手动设置,限制较大4.欢迎提出import os os.system("ps aux >2.txt") os.system("awk '{print $2}' 2.txt >3.txt") ...
idea中github多人协同工作截图篇(篇幅较长,多图预警)
1.目标: - 组长 完成idea上GitHub账号的登陆 在idea上新建远程仓库 在GitHub上创建组织 在远程仓库关联组织,添加team 给team分发权限 - 组员 让team中其他成员可以clone仓库代码 clone在分支上开发 分支的合并 clone后可以上传到远程仓库 2.操作 1. 完成idea上GitHub账号的登陆 1.在github中创建一个账号:http...
不想让别人看源代码,怎么办,有解决办法
全屏窗口点击事件,隐藏你的隐私 难点: 定位 clientX、Y 兼容问题 开始正题 css简单装饰一下页面跟点击出现的窗口 .s{ width:100%; height:100%; } .boxs{ width:300px; height:510px; display:none; ...
Android如何让Service不被轻易杀死
引言随着Android系统的更新,让服务长期运行在后台越来越困难,使我们可以免受流氓软件的困扰,真是可喜可贺。然而作为一个开发者,有时候也会面临这样一个问题,我们希望我们的服务可以尽可能长时间的在后台存活,然而我们的软件如果不是在ROM厂商的白名单中的话,一旦内存吃紧,被杀死几乎是必然的事情,接下来我们就来谈谈如何尽可能让我们的服务存活的时间长一些。1、提升service进程优先级Android将进
大型JavaWeb项目搭建实战
目录 一 创建父模块和其他子模块 1.1 基本的子模块搭建 二 man端环境配置 2.1 配置多个环境 三 web环境配置 3.1web.xml配置 3.2引入spring 四 打包启动 一 创建父模块和其他子模块   1.1 基本的子模块搭建 至于怎么创建成这种形式 右键父项目-》New->Module 依次输入即可     api 对外提供的api ...
如何创建一个不被回收的对象
如何创建一个不被回收的对象? 有同学问我。最近在看JVM的我很快想到了四种引用,并回答他:只需要保持始终有一个强引用引用它就行了。那么谁来引用这个对象呢?如何保证引用这个对象的对象不被回收呢?确实,好像我们创建的对象都避免不了被回收的命运,不管引用链再长被回收只是时间长短问题。但是真的没有不被回收的对象吗?答案肯定有,我们细想一下,对,$JAVA_HOME中的类的对象(下文简称home对象)不会被
java通过字节数截取字符串,要保证汉字不被截半个
在java中一个汉字占几个字节?这要看你(或你系统默认)用的编码是什么。 byte是1个字节,char是2个字节,但是char里可以存一个汉字,这么说汉字就占用2个字节? String类型里的汉字,按照编码格式的不同,分为2-4个字节的占用, UTF-8占用3个字节,特别的占用4个字节。 GBK里汉字确实是占用2个字节。 UTF-16里汉字一般占2个字节,特殊的是4个字节。 public stat...
如何保证Java对象内部属性的不可变状态
很多人看到上面的提问,立刻就会想到 final 关键字。但是却不完全正确。 看如下代码private final int a; private final Date date;示例代码中分别声明了整型的属性a,Date型的属性date,final关键只能确保基本数据类型的值不会变,但是对于Date这样的,非基本数据类型,就需要注意了。注意Date这样的非基本数据类型,在内存分配时是占用两块内存的,
怎么确保一个集合不能被修改?
对于Map等集合类型,我们只能对于其引用不能被再次初始化,而其中的值则可以变化,比如: private static final Map<Integer, String> map = Maps.newHashMap(); static { map.put(1, "one"); map.put(2, "two"); } public static void m...
git多人合作如何有序的进行提交合并
我们在实际的多人合作中,时常用到git,那么怎么样才能有序的进行提交操作呢?例子:直接以远程端的origin/master为远程开发分支(注:实际中常常在远程分支,创建dev分支用于日常开发,dev不是很稳定,而master分支常用于存放稳定的一个版本,dev开发完毕后,才会合并到master)。如果在开发过程中,你提交的内容,与远程端没有冲突,通过简单的,三个步骤,即可完成提交:git add .
Git基本入门知识
一、Git的简介 Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 二、Git的安装 1、Git下载安装:https:/...