黑马程序员技术交流社区

标题: 【厦门JavaEE就业1期-每日总结】BOS-day01 [打印本页]

作者: 厦门校区    时间: 2018-8-1 19:05
标题: 【厦门JavaEE就业1期-每日总结】BOS-day01
同学们,今天是bos物流项目第一天,主要给大家介绍了项目开发背景、主要模块和用到的技术点

今日需要掌握的有:

请同学们按照如上要求,总结你今日所学


作者: 13163997058    时间: 2018-8-1 20:21
王刘锁
两个重点掌握内容
一,Java项目系统架构的演变
1,all in one
最开始学习的web动态工程是在一个工程中完成所有的功能代码,这样整个工程的体积就会过于庞大,并且Tomcat的承载并发量也会因为工程的体积而减少,即便是部署了Tomcat集群,要知道一个集群最优的Tomcat数量是5个,如果数量超过5个,那么集群的性能不会提高反而会下降,因此这中类型的架构致命的缺陷就是不能解决高并发,因此演变出下面的垂直系统架构
2,垂直系统架构
这中架构是我们目前bos项目使用的,maven的聚合和继承就是一种很好的体现,一个父工程聚合了很多个子工程,每个子工程就是一个功能模块,每个子工程都可以独立运行,因此我们可以在每一个功能模块工程上部署Tomcat集群,这样就会把项目的并发量一下翻好几番,随着需求的提高,并发量的再次提升,这中架构又无法满足了,这就延伸出了分布式架构--soa
3,soa分布式架构
分布式架构由两部分组成服务层和表现层,在服务层中是service dao,每一个功能模块对应一个服务层和表现层(web),并发承载量又得到提升,但是在日常开发中我们经常需要在表现层来注入使用服务层的数据,但是不同工程间要如何进行数据的传递,这里最原始的方式我们可以使用spring框架,但是如果功能模块很多的话spring的能力就有限了,它无法帮我们清晰的理清服务层和表现层的引用关系,这时就引处了下一个版本微服务式架构,在后面的品优购商城项目中使用的架构方式
4,soa微服务架构
这中架构和分布式架构结构相似,不同的是工程间第一用关系由服务中间件来维护,服务中间件有dubbo(阿里),dubbox(当当网),spring cloud

二,git的使用
如何在eclipse开发工具中完成日常工作代码的上传和下载,
作者: Yanmo_    时间: 2018-8-1 20:23
架构的演变:

    ##### all in one(传统系统架构)
   
    ##### 垂直系统架构(bos项目)
   
    按功能模块提取,将每一个功能模块变为一个单独可运行的系统/工程
   
    ##### 分布式系统机构(soa )
   
    spring管理缺点:系统关系比较混乱
   
    服务层,表现层(工程间的维护用到服务中间件,微服务)
   
    常见服务中间件:
   
            dubbo,dubbox,spring cloud

    bod后台管理7大部分:
            1)基础设置(取派标准,取派时间管理,车辆管理,快递员管理,区域管理等)
            2)取派(下单管理,取件管理,配送管理等)
            3)中转(运输过程的中转点)
            4)路由(配送,运输路线,交通路线等)
            5)pda(快递员的无线通选设备)
            6)财务(快递费用的处理)
            7)管理报表需求(对业务作出的报表)
   
   
    软件系统类别:(基于MIS信息管理系统)
            crm(用户管理系统)
            oa(办公自动优化)
            erp(进销存管理系统)
           
    多系统间常用的
            *****webService
            消息队列:activemq

GIT与SVN区别

    git操作数据快,svn操作数据慢
    git是两个仓库,一个有网仓库,一个本地仓库的控制版本
    svn只有一个仓库,保存在服务器端,只有在有网下才能使用
   
    master仓库的主线代号
    origin远程仓库的代号

git上传到码云:
    1.在码云上注册并登录,创建一个新项目
    2.将本地代码通过在线仓库进行版本控制
    3.右击要上传的代码,comit到从码云上复制下来的链接,然后进行提交
    4.提交完成后下载,新建一个本地参考,然后克隆到本地仓库完成下载



作者: 偏离X    时间: 2018-8-1 20:28
*一个集群数量一旦超过5个,性能不升反降
*各个模块用spring进行链接的时候  关系比较混乱  无法梳理,所以用服务中间件

上传项目到码云:建立本地仓库--克隆中央仓库--commit项目到本地仓库--从本地仓库push到中央仓库
从码云下载代码:在本地参考pull一哈就好了

出现冲突的原因是  同事手贱把你的代码修改并提交到码云
作者: 许大炮    时间: 2018-8-1 21:02
许剑鸿 bosDay01

今天没有代码

1.看视频熟悉bos物流项目 知道了本次项目要使用哪些技术以及哪些技术比较重要
2.导入项目初始代码,完成maven配置.....
3.与视频中掌握重点不同,能够使用eclipse git插件发布代码到码云并且下载代码到本地
4.git冲突主要就是因为手贱改了不属于自己的代码并且在别人之前提交到了码云
作者: 咸鱼coder    时间: 2018-8-1 21:02
万冕

bos第一天没啥好写的

git是多线型的,svn是总线型,所以在多人访问时,svn效率会很慢,并且git比svn多一个本地仓库,这样可以
让git在离线的情况下也能保持版本的控制

码云还挺好玩的,昨天晚上玩了一晚上才玩明白,首先上传文件要先share project 然后index 在提交and push
把代码拿回来的时候需要再建一个本地仓库来存放导出的项目,然后可以选择再拷入到自己的workspace里

git冲突的情况之所以会发生时因为有人手欠,修改了我的代码,并且在我不知情的情况下提交到了git中,然后我再去提交
的时候,就会发生冲突,

解决冲突就是要先把他修改的代码载回来,然后询问他为啥改我代码,然后再把改完的代码整合我之前修改的代码再作
提交
作者: doudou0606    时间: 2018-8-1 21:08
施炎生
Day01
一、项目开发系统架构转变:
All in one -------垂直式系统-------soa分布式系统
1、        一开始是把整个项目的全部功能写在一个工程里,这样当发生高并发(淘宝的秒杀、小米抢手机)时,系统无法承载(一个tomcat理想状态可以承载500个请求,可以使用多个tomcat组成集群,从而提高可承载的访问量,但是最多只能集群5个tomcat)。
2、        因此,产生了垂直式系统开发,将一个工程按功能拆分成多个工程(比如商城项目拆分成用户模块工程、商品模块工程),这样就可以使用多个tomcat集群,但是还是不足以承载高并发。
3、        继续将拆分出来的模块工程按服务层(service、dao)和表现层(web)拆分,这样就从一变二、从二变四,使用spring来进行服务层和表现层的连接,但是这样服务关系复杂,不利于后期系统维护,进而由spring演变出dobbo、dobbox、springcloud这些中间件来连接。

二、SVN和Git的区别:
SVN 必须基于远程仓库进行版本控制,Git 是分布式版本工具
(除了具有远程仓库外,还具有本地仓库 可以在离线情况下进行版本控制)。

三、代码提交到本地仓库:
工程右键---team---share project----Git
提交到码云:
工程右键-----Team---add to index
工程右键-----team----commit(选择上传文件)---备注
Commit and push ------URI:码云上新建的项目网址
                                                ------user:码云生成的账户名
                                                ------password:码云密码
Next---source ref---master---add spec---force update
从码云上更新工程到本地:
选中要更新的工程----team----pull

作者: 厦门陈强    时间: 2018-8-1 21:10
BOS项目-day01
陈强
Tomcat集群中单机Tomcat的数量不能超过5个,超过这个数量后,性能会不升反降.
All in one 过度到垂直系统架构可以对高并发进行改善,而垂直系统架构是什么呢?就是按照功能模块提取,将每一个功能模块变成一个单独可运行的系统\工程,例如:用户模块,商品模块等单独为一个独立的可运行系统.
垂直系统架构进一步的优化,就是采用分布式的系统架构(SOA),可以分为服务层和表现层,而服务层中装的是service和dao,这里的每一个也都是可运行的模块,表现层就是web端,只要是关于web资源(css,页面等),关于服务层和表现层之间的联系要怎么去实现呢?之前我们采用的是注入的方式,但是哪种方式是service和web都在同一个工程中,但是现在分为不同的工程了,所以以前的方式对于工程数量多的时候就没办法去实现了.所以,引入了一个新的SOA架构---微服务!!这个架构中,在服务层与表现层中会通过一个服务中间件来进行传递.服务中间件有dubbo\dubbox\spring cloud等三种.目前的BOS项目,采用的是垂直系统架构.
All in one方式的工程表现为工程体积庞大,能承载的并发量有限,一个Tomcat的最大承载量理想化的有500个左右变成100-200之间不等,大大降低了承载量.
BOS后台管理系统,分为以下七个部分:
1.        基础设置:包含了取派标准,取派时间管理,车辆管理,快递员管理,区域管理等元数据
2.        取派:下单管理,取件管理,配送管理
3.        中转:货物运输过程中的中转点,出入库的操作等
4.        路由:运输路线,运输的交通工具等
5.        PDA:移动通讯设备对快件操作
6.        财务:费用的处理
7.        管理报表需求:针对业务数据产生报表
传统项目:CRM(用户关系管理系统)\OA\ERP(进销存管理系统),
多系统间的数据传输有三种方式:
        ---webservice
        ---消息队列(activemq)
        ---Redis(通道)
重新创建工作空间,并配置好maven和本地仓库的操作.
Eclipse的工作空间和hbuilder的工作空间设置为同一个工作空间,方便管理;
父项目的打包方式是pom,而子项目的打包方式为war.导入工程的时候,选择将项目copy到工作空间.
由于中央仓库的网站是属于外国网站,基于网络的原因可能导致install失败,这个时候可以配置阿里的镜像,即百度去查找maven阿里,将<mirror>的配置放在settings.xml的配置文件中就可以解决了.
注意!!!启动项目运行,运行的是安装到maven仓库中的工程,没有安装到本地仓库的项目运行就会报错!!!
Git实现版本控制:SVN是基于远程仓库进行版本控制的,而Git是分布式版本工具,(除了具有远程仓库外,可以离线在本地进行版本控制).
基于Git上传到仓库,会先上传到本地的仓库,然后再基于本地的仓库上传到远程仓库.
        ---commit是上传到本地仓库的命令
        ---push是上传到远程仓库的命令
要提交之前,先pull再进行push,这样子可以检验自己更改代码之前,自己的代码是否有被别人更改过,这样子可以防止出现Git冲突.
冲突信息的展示:
        <<<<<<<<<HEAD 这是显示本地内容
        ============== 这是分割线
        >>>>>>>>>>>>>>显示Git服务器上的内容
关于Git使用的整理:
初始化阶段:
        ---选定一个路径作为Git的仓库位置
使用阶段:
        ---首先要将本地的工程share project到Git的本地仓库,代表本工程加入到Git的本地仓库(这个时候,team的菜单栏就会发生变化)
        ---Add to index,代表本地与远程是不同步的,记住!!要将本地工程上传都一定add to index
        ---commit,填写提交的信息,选择要上传的文件commit and push
        ---选择远端仓库的URI,填写远端账号和密码(!!账号user是码云的用户名!!)
        ---上传选择主干,并add Spec,在下面选择框中勾选force updatefinish即可\

        ==从远端下载工程到本地的操作==
        在Git repository界面中有一个克隆按钮,填写远端仓库的URI,同样的填写上远端码云的账号和密码,然后要选择本地仓库的路径,之后finish就已经将远端仓库的工程下载到本地仓库了.
        ---导入eclipse,来源是本地仓库.


作者: 六道的骸6    时间: 2018-8-1 21:38
张裕
Git 分布式项目版本控制工具
        有两个仓库(远程和本地) 无需网络即可完成版本控制
        SVN必须基于中央仓库进行版本控制 需要联网才能使用                                       
Git的使用
        commit提交到本地仓库 push推送到中央仓库
        新创建的文件可以通过add添加到版本控制
        pull 从中央仓库中拉取文件
        当中央仓库的文件发生改变 而本地仓库的文件也发生改变 会产生冲突
        edit conflicts编辑冲突 保存后 选择第一个表示冲突解决

cmd指令 netstat -ano 显示所有端口
作者: 铁木啊童臂    时间: 2018-8-1 21:53
汪志阳:
开发模式比较:
all in one:体积大,并发量承受量小;       
垂直系统架构:web阶段MVC开发模式;
分布式开发:服务层,表现层原始基于spring连接(服务关系混乱,不利于系统服务)
                        将spring转换为服务中间站       
svn和git的区别:
                svn是总线型的,上传慢,只有一个仓库,连接需要网络
                git是分布式的版本控制,有两个仓库(本地仓库commit提交,远程仓库push),内部局域网布置本地仓库
                        上传快,支持离线
git安装和小乌龟的文件上传与下载使用:
上传到码云:1.在码云上创建项目相关,在本地文件创建本地仓库
                   2.在eclipse内,选择项目--Team--Share Project--选择git--Create中选中本地仓库的地址(项目多了个?标记)
                   -Team-add to index(标记变为*)--commit--commit and push--URI(码云中项目地址)--user(码云用户名wzy625658117,密码)
                   在Push Ref Specifications中选择refs/heads/master自动填充,点击Add Spec勾选Force Update--finish完成上传.
下载到本地仓库:        1.window-show gitrepositories调出窗口
                                2.选择该窗口右边小图标clone git repository
                                3.远程仓库的填写信息和上传填写一致
                                4.在Local Destination页面找到本地仓库的地址
                                5.import导入已存在的本地maven工程完成项目的导入
冲突解决:记得先pull 再push,必须先 commit 到本地仓库,才能 pull
                               
                  
作者: 沅瞻    时间: 2018-8-1 22:02
詹源
BOS 后台管理系统,分为七个部分 :
1、基础设置 (物流业务管理 元数据 ): 取派标准、取派时间管理、车辆管理、快递员管理、区域管理 …  
2、取派: 下单管理、取件管理、配送管理 …  
3、中转: 货物运输过程中,中转点 出入库操作 …  
4、路由: 运输线路、运输交通工具 …  
5、PDA : 快递员无线通讯设备 通讯功能 …  
6、财务 :快递费用处理
7、管理报表需求: 针对物流业务数据,产生报表  

主流软件系统类别
OA、CRM、ERP 都是基于 MIS(信息管理)
软件开发流程
1.要求调研分析
2.设计(概要设计,详细设计)
3.编码
4.测试
5.实施和运维

BOS需求功能:
业务功能模块
        基础数据模块
        业务受理,调度
        分拣管理,流程管理
系统功能模块
        用户管理
        权限管理
CRM项目
前端

准备:
搭建开发环境,准备开发工具,配置相关文件.项目导入


基于Git实现版本控制
Git是分布式版本工具(同时具有远程,本地仓库.可在离线状态进行版本控制)

下载安装Git   配置环境变量

下载安装TortoiseGit

建立中央仓库
作者: chenyelong    时间: 2018-8-1 22:04
陈叶隆

新建本地仓库:鼠标右键

上传项目:
a.右键工程,team,share
  
b.添加索引

        c.提交到本地仓库

d.commit and push

e.填写push到的路径

f.master,add spec

g.点上√



作者: 张述明    时间: 2018-8-1 23:18
张述明
总结 bos第一天
bos项目核心业务模块
BOS属于块,垂直系统模按单独的功能模块来划分
垂直系统模块:关系混乱,
解决办法:把spring转成服务中间件

模块:
基础设置(物流业务管理,元数据):取派标准,取派时间
,车辆管理,快递员管理
2.取派 :下单,取件,配送管理
3.中转 :货物运输过程中  ,中转点出入操作
4.路由:运输路线,运输工具
5.PDA:快递员无线通讯设备
6.财务:运输费用
7.报表:针对物流业务数据,产生报表

crm(客户关系管理系统)
oa(无纸办公)
erp(进销存管理系统)

软件开发
传统模型    瀑布型开发
互联网开发   敏捷开发(迭代)   scrum
quartz   掌握语法  cron语法

Git 和svn版本控制区别简介
svn版本信息只保存在服务器端
git 有两个仓库,基于中央仓库,进行克隆,本地存在一个仓库,客服端可以基于本地仓库
来进行版本控制,

解决git冲突
<<<<<Head 本地的内容
======分割线
>>>>>adtwytfgaifh 远程仓库内容
删掉或者右键-edit conflicts


冲突解决 mark as  resolved
冲突仍然存在 Leave as conflicted
作者: finfin12    时间: 2018-8-1 23:29
张育辉
1、  物流项目 进行整体分析 (背景、业务场景、开发环境、技术 )
     一 )  BOS 后台管理系统,分为七个部分 :
1、  基础设置 (物流业务管理 元数据 ): 取派标准、取派时间管理、车辆管理、快递员管理、区域管理 …
2、  取派: 下单管理、取件管理、配送管理 …
3、  中转: 货物运输过程中,中转点 出入库操作 …
4、  路由: 运输线路、运输交通工具 …
5、  PDA : 快递员无线通讯设备 通讯功能 …
6、  财务 :快递费用处理
7、  管理报表需求: 针对物流业务数据,产生报表
二)使用的技术
Server 端架构: Struts2+ Spring + Spring Data(简化持久层) + JPA 接口+ Hibernate(JPA 显现)后台管理系统 页面架构 :jQuery Easyui 框架
前端互联网系统 页面架构 :BootStrap 响应式 + AngularJS   Excel 解析、生成: POI 技术   远程调用: 基于 Restful 风格 CXF 编程   第三方短信平台、邮件平台 使用
Redis(mongdb) 缓存使用 、ActiveMQ 消息队列
搜索服务器 ElasticSearch 安装配送使用 , Spring Data 操作 ElasticSearch 服务器   定时调度框架: Quartz   (spring task)
在线 HTML 编辑器: kindEditor (百度编辑器)
使用   权限管理框架: Apache Shiro
2、  导入项目 ,对项目进行版本控制 Git (本地版本库、在线版本库使用 )
一)什么是Git
Git是一款免费,开源的分布式版本控制系统,用于敏捷高效处理任何(大小)项目,JavaEE 项目开发更多使用 SVN 版本控制工具,SVN 必须基于远程仓库进行版本控制,Git 是分布式版本工具(除了具有远程仓库外,还具有本地仓库 可以在离线情况下进行版本控制 )
二)Git和SVN的区别
SVN 要是有中央仓库,所有版本控制信息在中央仓库,客户端无任何版本控制信息,SVN 必须基于中央仓库进行控制,如果无法联网,无法进行版本控制
        Git 基于中央仓库,进行克隆,本地存在一个仓库,客户端可以基于本地仓库进行版本控制,即使在没有网络情况下,也可以基于本地仓库进行控制
注意:将本地创库的提交到远程仓库, 需要在原始仓库(中央) 执行 git config receive.denyCurrentBranch ignore ,这样才可以提交
三)解决冲突
冲突产生原因:多个用户同时修改同一行代码会产生冲突,第一个提交不会产生问题,后提交这需要解决冲突
User1进行修改提交到中央仓库,user2在进行修改,先提交到本地仓库,提交远程仓库发生冲突问题.user2需要先拉.拉完之后解决冲突.在推

bos项目核心业务模块
BOS属于块,垂直系统模按单独的功能模块来划分
垂直系统模块:关系混乱,
解决办法:把spring转成服务中间件
作者: 林荣彬    时间: 2018-8-2 01:28
林荣彬
1:all in one 系统架构:体积大,并发量承受量小;
2:垂直系统架构:按照功能模块提取:将每一个功能模块变为一个单独可运行的系统/工程
3:分布式 soa:内部有两个组成部分,服务层和web层.

BOS后台管理系统,分为七个部分 :
1、基础设置 (物流业务管理 元数据 ): 取派标准、取派时间管理、车辆管理、快递员管理、区域管理
2、取派下单管理、取件管理、配送管理 …  
3、中转:货物运输过程中,中转点 出入库操作 …  
4、路由运输线路、运输交通工具 …  
5、PDA快递员无线通讯设备 通讯功能 …  
6、财务快递费用处理
7、管理报表需求: 针对物流业务数据,产生报表  
主流软件系统:
1.crm(用户关系管理系统)  
2.oa(办公自动化,无纸化办公)  
3.erp(进销存管理系统)
以上三种都是基于MIS(信息管理)系统

多系统间数据通信:
1:webservice
2:ActiveMQ  消息队列
3:redis(通道)

SVN与GIT的区别:
SVN必须基于远程仓库进行版本的控制,Git是分布式的版本控制(除了具有远程仓库外,还具有本地仓库 可以在离线情况下进行版本控制 )Commit先上传到本地,再Push上传到远程仓库.







作者: Do1    时间: 2018-8-2 02:48
本帖最后由 Do1 于 2019-11-23 00:36 编辑

物流项目提取了宅急送中小部分核心功能供学习使用
需要用到的技术主要有spring
springdatajpa'spring产品中的其中一个对hibernate进行了封装,spirng的其它产品还有springcloud微服务springboot 还有最新流行的springboot2以及即将接触到的springMVC'
Redis 运行在vm虚拟机上的一个key-Value型数据库服务器,有点像map集合
ExcelUtils主要解析excel文件
easyUI前面做ssh增删改查有用到过  
ActiveMQ消息队列  
调度框架 Quartz   (spring task)
在线 HTML 编辑器  kindEditor (百度编辑器)
使用   权限管理框架 Apache Shiro  

Maven环境配置:
解压maven
修改setting中央仓库路径为阿里云,阿帕奇卡的一批
打开eclipse 搜maven 配置一下 新建maven工程
父类pom提供jar包   子类写代码,大工程抽成若干个小工程,相互继承 依赖父类提供的jar包进行开发,是一种真实的开发状态

git远程代码提交工具     下载gitee插件   gitee.com中复制你的访问路径  开发软件的插件中输入用户名和密码   连接即可,连接后记得每次提交的时候要先AD然后complie,然后再push
解决冲突,产生冲突后  先下载下来,修改后提交上去

svn和git区别:svn只能联网,git可单机
作者: 一梦    时间: 2018-8-2 09:01
陈世彪:

bos项目第一天.jpg (168.77 KB, 下载次数: 48)

bos项目第一天.jpg

作者: COLDER    时间: 2018-8-2 09:19
本帖最后由 COLDER 于 2018-10-18 19:17 编辑



git和svn的对比:
仓库:git两个仓库,无需网络即可操作,svn一个仓库,需要网络.
传输速度:git传输速度远大于svn,svn 总键型.

Eclipse结合Git插件实现项目上传至远程仓库及下载至本地仓库
---上传---
1.创建本地仓库,Git Create repository here,会在文件夹内产生.git隐藏文件.
2.Eclipse连接本地仓库:Eclipse中选择指定工程右键-->Team-->Share Project-->Git-->设置本地仓库的位置.
3.Eclipse中选择指定工程右键-->Team-->Add to index.
3.1 Team-->Commit-->自动生成账号密码-->填写提交信息-->选择上传文件.
4.远程仓库创建新项目
5.回到3.1进行项目的提交和上传(Commit And Push)-->填写远程仓库URI(远程仓库项目下的HTTPS)-
User填写远程仓库的用户名,Password填写远程仓库的登录密码-->Source ref选择上传至master(主干)-
Add Spec-->Force Update(关注代码修改)-->Next-Finish
---下载---
1.创建本地仓库
2.Eclipse中Git Repositories-->Clone a Git Repository....-->URI填写远程仓库下的项目的HTTPS-->填写用户名和密码
-->设置下载路径(本地仓库)-->导入项目到Eclipse.
---更新项目---
上传部分:按照上传操作,上传相关更新文件即可.
下载部分:Eclipse选择指定工程右键-->Team-->Pull
注意:更新项目中的下载部分有可能存在冲突问题:协作开发,你编写的代码被别人修改并优先于你上传至远程仓库,导致代码不一致.



作者: 李思贤126    时间: 2018-8-2 09:38
李思贤:Maven 环境配一下
更换了Maven版本后要在maven仓库管理视图rebuild一下

项目开发系统架构的转变:
1All in one :把整个项目写在一个工程里面,但这样高并发是系统会崩掉(tomcat理想状态下能承载500个请求,最多集群5个tomcat, 一个集群数量一旦超过5个,性能不升反降
,这时每个tomcat一般只能承载100-200)

2垂直系统架构 :把一个工程拆分成多个工程

3 soa分布式架构 : 将拆分出来的模块工程按服务层(service、dao)和表现层(web)拆分,这样就从一变二、从二变四,使用spring来进行服务层和表现层的连接,但是这样服务关系复杂,不利于后期系统维护,进而由spring演变出dobbo、dobbox、springcloud这些中间件来连接。


GIT 无脑安装(环境变量自动配置)
使用 git --version 查看 git 是否安装成功  

TortoiseGit 无脑安装(git的视图化工具)
安装完成 在文件夹邮件 出现黄色小垃圾桶说明安装成功

git是多线型的,svn是总线型,所以在多人访问时,svn效率会很慢,并且git比svn多一个本地仓库,这样可以
让git在离线的情况下也能保持版本的控制

Git使用:
在D盘建一个目录Demo作为中央仓库
邮件Git Create repositoy here…生成隐藏git.文件夹

上传项目到码云:建立本地仓库--克隆中央仓库—commit
项目到本地仓库--从本地仓库push到中央仓库
从码云下载代码:在本地参考pull

Git冲突就是自己的代码被别改了


作者: wpwing    时间: 2018-8-2 10:07
熟悉bos物流项目
bos是一个结合了crm,oa,erp的综合物流管理系统,后台管理部分分为:
基础设置,取派,中转,路由,PDA,财务,报表
---------------------------
导入项目初始代码,完成maven环境相关设置
该项目为子项目继承父项目,父项目为pom,子项目为war,分别导入对应的代码,
maven环境配置在前面的课程已经完成,这边需要换成统一的版本,将环境变量
里面的路径值更换为指定版本的路径值,eclipse里面的maven标签里面也更换为
指定版本的地址值,然后再把maven/conf下的setting.xml编辑一下,主要是修改
本地仓库的指向;
---------------------------
会使用git发布项目到码云,并能够从码云上下载代码到本地
首先安装好git和TortoiseGit,注册一个码云的账号,在eclipse里面集成好git的插件,设置git本地仓库文件夹;
右键点击要上传的项目->Team->share->选择git->选择资源文件夹->Finish;
然后右键->Team->commit(提交项目到本地仓库)->弹出来的界面设定好上传的文件,描述,然后填写好
git网络仓库里面的路径,git的用户名和密码,提交;
上传和下载的命令分别是push,pull;
---------------------------
掌握处理git冲突的方式
使用TortoiseGit来处理冲突,右键发生冲突的文件,选择edit conflicts,左右对比本地跟线上的文件的内容,进行修改,
然后提交;
作者: 5119    时间: 2018-8-2 10:17
游荣辉
Git是多线型的,svn是总线型,所以在多人访问时,svn效率会很慢,并且git比svn多一个本地仓库,这样可以让git在离线的情况下也能保持版本的控制
Git 基于中央仓库,进行克隆,本地存在一个仓库,客户端可以基于本地仓库进行版本 控制,即使在没有网络情况下,也可以基于本地仓库进行控制
Git使用:
在D盘建一个目录Demo作为中央仓库
邮件Git Create repositoy here…生成隐藏git.文件夹

上传项目到码云:建立本地仓库--克隆中央仓库—commit
项目到本地仓库--从本地仓库push到中央仓库
从码云下载代码:在本地参考pull

Git冲突就是自己的代码被別人修改了

作者: 渣..    时间: 2018-8-2 10:30
柯威龙
今天主要学习了BOS的核心业务.项目的开发环境及开发工具的下载.
主要是下载Git然后使用GIT上下传maven文件到码云.在上传到码云需要去.git到文件夹,然后使用share project
然后add 在提交,将代码取出来时需要建一个本地仓库,然后导出.
作者: Nevermo    时间: 2018-8-2 10:30
许煜 每日总结
Bos day1
  项目架构常见方式:
1 按照功能 垂直架构 例如 分为:用户模块 产品模块 后台模块 等等
2 按照设计模式 分为Controller层 service层 dao 层
  开发工具 选择 前端开发工具 hbuilder 后台开发工具 idea
Idea创建聚合工程详细步骤
1创建父工程(pom) 删除src文件夹 配置maven 和tomcat
2创建子类模块(war) 可选maven-webapp
注 oracle包需要手动导入
代码管理 1安装git   2安装 使用tortoise git
Idea上传代码步骤
  1配置vcs 版本控制器 git 标注本地仓库(直接以工作空间为仓库即可)
  2下载插件gitee 配置插件和远程仓库 建立连接
  3 git->add->commit directory->push 上传到远程仓库
Clone代码步骤 1选择vcs 选择clone
               2选择clone项目对象 配置本地路径 是否创建新项目
Idea 更新项目最新代码 pull
作者: 李志勇    时间: 2018-8-2 11:00
李志勇:
easyui:
       
        包引入:
        <!-- 导入 jquery 核心类库 -->
        <script type="text/javascript" src=“./js/jquery-1.8.3.js"></script>
        <!-- 导入 easyui 类库 -->
        <script type="text/javascript" src=“.js/easyui/jquery.easyui.min.js"></script>
        <!– 导入默认主题 CSS 文件-->
        <link id="easyuiTheme" rel="stylesheet" type="text/css" href=“.js/easyui/themes/default/easyui.css">
        <!– 导入图标 CSS 文件-->
        <link rel="stylesheet" type="text/css" href=“.js/easyui/themes/icon.css">
        <!– 导入国际化信息文件-->
        <script src=“./js/easyui/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
        1,主页布局方案 layout
         基于<body> 或者 <div> 进行布局 在其中添加class=“easyui-layout”
        这个布局容器,有五个区域:北、南、东、西和中心  通过data-options=“region:‘方位’”里面还可以设置title标题
        2,西部区域折叠面板 accordion        
        对折面板区域div设置class="easyui-accordion"里面每个div都需要设置title属性 可以面板属性fit为true  让其自适应容器大小
        3,中心区域选项卡面板 tabs
        选项卡面板区域div设置class="easyui-tabs"每个容器内的div必须有title值  设置属性closable:true 可以设置关闭按钮
        4,编写树形菜单 使用 ztree  
        包引入:
                <!-- 引入 ztree -->
                 <script src="../js/ztree/jquery.ztree.all-3.5.js"  type="text/javascript" charset="utf-8"></script>
                 <link rel="stylesheet" type="text/css" href="../js/ztree/zTreeStyle.css"/>
       
        4.1,ztree 制作树形菜单  两种数据格式
                标准json数据               
                var nodes={
                    {name:"父节点",children:{
                        {name:"子节点"}
                        {name:"子节点"}
                    }}
                }
                简单json数据
                var nodes={
                  {id:1,pId:0,name:"父节点"}
                   {id:11,pId:1,name:"子节点"}
                }
        在需要显示树形菜单位置 添加<ul class="ztree" id="basemenu"></ul>
        设置简单格式支持:
        var setting={
               data:{
                simpleData:{
                 enable:true
                }
                }
        }
        设置数据:
        var zNodes={
                  {id:1,pId:0,name:"父节点"}
                   {id:11,pId:1,name:"子节点"}
                }
        生产菜单
        $.fn.zTree.init($("#basemenu"),setting,zNodes);
       
        5,将树形菜单和选项卡整合
        在setting内的属性
         callback:{
            onClick:Function(event, treeId, treeNode, clickFlag){
               
                $("mytabs").tabs("add",{
                      title:treeNode.name, 选项卡标题
                      content:内容,               
                      closable:true   用来设置关闭建
                     }
                )
            }       
        }
作者: it小白001    时间: 2018-8-2 11:01
第一天:分析了整个项目
  bod后台管理7大部分:
            1)基础设置(取派标准,取派时间管理,车辆管理,快递员管               
理,区域管理等)
            2)取派(下单管理,取件管理,配送管理等)
            3)中转(运输过程的中转点)
            4)路由(配送,运输路线,交通路线等)
            5)pda(快递员的无线通选设备)
            6)财务(快递费用的处理)
            7)管理报表需求(对业务作出的报表)
还介绍了Git
      git操作数据快,svn操作数据慢
     git是两个仓库,一个有网仓库,一个本地仓库的控制版本
       项目上传和下载
作者: LittleSky    时间: 2018-8-2 13:16
常小天
今天是BOS项目的第一天。对项目的结构进行了初步的了解,并完成一些准备工作。今天了解了三个不同发展阶段的项目结构。All in one模式将所有功能模块的所有代码都编写在一个项目中,这样导致项目异常臃肿,性能低下。垂直系统架构将一个项目的不同模块部署到不同的服务器上,提高项目处理并发的能力,但提高有限。SOA分布式系统架构在拆分功能模块的基础上又将服务层和表现层进行了拆分,进一步提高项目的性能,但使用Spring管理服务层与表现层之间的调用关系过于复杂,无法进行维护。为了处理这个问题,在项目中使用服务中间件来管理和维护服务层与表现层之间的调用关系。
在进行开发之前,我们还要进行一些准备。我们需要安装一个分布式版本控制系统——Git。下载安装完成后,我们可以通过DOS命令git –version查看Git版本,以此来确认是否安装成功。安装完成后还要检查一下环境变量中path的值是否有Git的安装路径。之后还需要安装一个Git可视化工具。安装完成后,我们在选定的路径下右键Git Create repository here…来创建本地仓库。为了能将代码放到在线仓库来进行管理,我们还注册了一个码云账号,在账号上新建一个项目。将eclipse上写好的项目上传到在线仓库中。这里要进行三步大的操作:Share project;add into index;commit。这些操作在日后的工作中会频繁使用,所以多加练习。

作者: q55w66    时间: 2018-8-2 14:39
王清松
Maven
        概述
                apache的开源项目,是项目管理工具,用于管理java项目
        组成
                项目对象模型(Project Object Model)
                        每个maven工程中都有一个pom.xml文件,用于定义工程所依赖的jar包、本工程的坐标、打包运行方式
                依赖管理系统
                        maven通过坐标对项目工程所依赖的jar包统一规范管理
                maven定义了一套项目生命周期
                        清理
                        初始化
                        编译
                        测试
                        报告
                        打包
                        部署
                        站点生成
                一组标准集合
                        强调:maven工程有自己标准的工程目标结构、定义坐标有标准
                maven管理项目生命周期过程都是基于插件完成的
        仓库
                中央仓库
                        远程仓库,仓库中的jar由maven团队统一维护
                        http://repo1.maven.org/maven2/
                本地仓库
                        相当于缓存,工程第一次会从远程仓库下载jar包,将jar包存在本地仓库
                私服
                        相当于一个代理仓库,本地仓库向私服请求资源,私服有就直接返回资源,如果没有就去中央仓库请求资源,然后下载后返回给本地仓库
        环境搭建
                到maven官网下载http://maven.apache.org/download.cgi
                配置本地仓库
                        找到apache-maven-3.3.9\conf\settings.xml
                        在<settings>标签下配置本地仓库所在路径
<localRepository>D:\develop\maven_local_repository</localRepository>
                eclipse配置maven
                        配置maven安装目录
                                【Window】-【Preferences】-【Maven】-【Installations】
【Add...】,在Installation home配置maven路径即可
                        配置User Settings
                                【Window】-【Preferences】-【Maven】-【User Settings】
在User Settings配置apache-maven-3.3.9\conf\settings.xml
依次点击Update Settings-Reindex-Apply
                        重建本地仓库索引
                                【Window】-【Show View】-【Other...】-【Maven】-【Maven Repositories】
【Local Repositories】-【Local Repository(...)】,右键,Rebuild Index
                设置编译版本
                        【右键】-【Maven】-【Add Plugin】
搜索compiler,选择版本,并作一定补充后,Update Project...
————————————————————————————
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>2.3.2</version>
  <configuration>
    <source>1.8</source>
    <target>1.8</target>
  </configuration>
</plugin>
                配置环境变量
                        变量名:MAVEN_HOME
变量值:Maven根目录路径
                        变量名:PATH
变量值:%MAVEN_HOME%\bin
                        变量名:M2_HOME
变量值:Maven根目录路径
        项目生命周期
                分类
                        clean清理项目
                                pre-clean
                                clean
                                post-clean
                        default构建项目(核心)
                                ...
                                        validate
                                        initialize
                                        generate-sources
                                        process-sources
                                        generate-resources
                                        process-resources
                                compile编译源代码
                                ...
                                        process-classes
                                        generate-test-sources
                                        process-test-sources
                                        generate-test-resources
                                        process-test-resources
                                        test-compile
                                        process-test-classes
                                test单元测试运行测试代码
                                ...
                                        prepare-package
                                package将编译好的代码打包
                                ...
                                        pre-integration-test
                                        integration-test
                                        post-integration-test
                                        verify
                                install安装到本地Maven库
                                ...
                                        deploy
                        site生成项目站点
                                pre-site
                                site
                                post-site
                                site-deploy
                注意:三套生命周期相互独立,后面的阶段依赖于前面的阶段
        常见命令
                compile编译(生成target目录并存放编译好的class文件)
                clean清理(清理target目录下的class文件)
                test执行单元测试类
                package打包
                install将工程的jar发布到本地仓库
        项目搭建
                1.建立一个父项目名称为xxx_parent(打包方式为pom),将所需要的所有依赖都配置在该项目的pom中
                2.建立子项目xxx_dao\service\entity(打包方式为jar)....继承xxx_parent
                3.建立子项目xxx_web(打包方式为war)....继承xxx_parent
                4.给子项目添加依赖,action依赖service,service依赖dao,dao依赖entity
                5.拆分配置文件
                        事务管理在service层,即xxx_service项目中,打包后会在该jar包中
                        数据源相关在dao层,即xxx_dao项目中,打包后会在该jar包中
                        注意!此时配置文件分布于多个项目,想要同时读取需要修改在web.xml中声明applicationContext.xml位置的参数信息
                                在classpath后添加一个*
———————————
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>classpath*:applicationContext*.xml</param-value>
</context-param>
        依赖
                依赖范围
                        用于控制依赖与3种classpath的关系
                                编译classpath
                                测试classpath
                                运行classpath
                        compile
                                默认值,编译有效、测试有效、运行有效
                                如spring-core
                        test
                                编译无效、测试有效、运行无效
                                如JUnit
                        provided
                                编译有效、测试有效、运行无效
                                如servlet API
                        runtime
                                编译无效、测试有效、运行有效
                                如JDBC驱动包
                依赖传递
                        关系:a依赖b,b依赖c
                        1.a编译如果需要b,b编译如果需要c,则a编译需要c
                        2.a测试、运行如果需要b,b运行需要c,则a测试、运行需要c
                        3.根据1.2推断,a编译是否需要c,a测试是否需要c,a运行是否需要c
                        4.与4种依赖范围进行匹配推断a对c的依赖传递
                依赖调节
                        原则一:路径优先,依赖路径浅的优先
                        原则二:声明优先,依赖路径深度相等,声明在前的被引用
        核心配置文件pom.xml
                版本锁定
                        <dependencyManagement>
  <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.0.7.Final</version>
  </dependency>
</dependencyManagement>
                        优先级
<dependencies>-<dependency>-<version>高
<dependencyManagement>-<dependency>-<version>低
                依赖排除
                        <dependency>
  <groupId>org.apache.struts</groupId>
  <artifactId>struts2-core</artifactId>
  <version>${struts.version}</version>
  <exclusions>
    <exclusion>
      <groupId>javassist</groupId>
      <artifactId>javassist</artifactId>
    </exclusion>
  </exclusions>
</dependency>
作者: 名字被人注册了    时间: 2018-8-2 15:09
刘文峰
all in one系统架构:将所有的代码放在一个工程中,用户访问量不多时不会有问题,但是由于一个工程最多集成5个tomcat(多了会降低性能),所以当产生高并发时服务器会发生问题.
垂直系统架构:将单个工程的各个功能模块抽取出来单独形成一个单独的工程,这样,整个工程的功能不会发生改变,但是每个功能模块都有各自的tomcat集群,可以增强服务器的承载能力.
分布式系统架构:在垂直系统架构的基础上将功能模块再进行拆分成服务层和表现出,有服务中间件维护二者之间的关系.
maven环境设置:安装完maven后,在settings.xml中配置本地仓库,然后在eclipse中启用maven,要使用maven还要在计算机中配置几个环境变量.
作者: Eclipse启动    时间: 2018-8-2 15:16
郑阳阳
Bos项目采用垂直系统架构开发.
BOS的后台管理系统分为七个部分:
1、 基础设置 (物流业务管理 元数据 ): 取派标准、取派时间管理、车辆管理、快
递员管理、区域管理 …
2、 取派: 下单管理、取件管理、配送管理 …
3、 中转: 货物运输过程中,中转点 出入库操作 …
4、 路由: 运输线路、运输交通工具 …
5、 PDA : 快递员无线通讯设备 通讯功能 …
6、 财务 :快递费用处理
7、 管理报表需求: 针对物流业务数据,产生报表

git冲突:git冲突是两个人提交了相同文件相同位置的不同操作,会导致冲突
解决冲突就是统一两人的操作的代码.
正规的操作流程和别乱改他人代码能有效防止git冲突
作者: 小故事    时间: 2018-8-2 16:57
谢洪彬:
        BOS(一):
课程知识扩展:
        tomcat集群操作时,tomcat集群的数量超过5个时,性能不升反降.
系统架构的分类就描述:
        1.all in one 系统架构代码臃肿,处理并发性能不好
2.垂直系统架构:根据功能模块来管理,一个功能就是一个项目(例,user模块,product模块...)
        3.分布式系统架构 soa : 分为服务层和表现层,两者之家可以使用spring或服务中间件来进行管理,同样他们两个之间也存在着区别:
        spring来管理的话,当关系变的复杂是会显得很混乱,不推荐
        服务中间件在处理复杂的关系是是比较好的
        4.在我们进行开发时树形结构层次最多四层
        5.        git和svn的区别:
git:可以在没有网络的情况下进行使用,git有两个仓库,属于分布式,操作速度快
        svn:必须要有网络,只有一个仓库,操作速度慢

git的入门使用:
导出操作:
        1.建立git的本地仓库
        2.在编译工具选中项目Team-->share project -->Git将项目放入本地仓库
        3.Team-->add to index 将本地仓库与远程仓库建立联系,但不同步
        4.Team-->commit来进行本地仓库提交到远程仓库
        5.在远程仓库获取URL路径,在commit提交的过程中需要提供远程仓库的Url和用户名以及密码
        6.选择主干master,并点击Add spec,然后在选中要上传的项目
        7.最后点击finish完成上传远程仓库操作
       
导入操作:
                1.在显示图形选择Git Repository        ,在右手边选择clone仓库小图标
                2.提供远程仓库的Url和用户名以及密码
                3.选择代码存放的仓库路径       
                4.在编译工具选择本地本地仓库代码导入即可





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2