SSHDay01(SVN安装和使用)

回顾SSH三大框架整合
1、SSH开发需要的jar和配置文件
    Struts2框架
        Web.xml和struts.xml
    Hibernate框架
        hibernate.cfg.xml
        Customer.hbm.xml
    Spring框架
        applicationContext.xml
        log4j.properties

2、Spring框架整合Struts2框架
    Action类由Struts2创建(按名称自动装配)
    Action类交给Spring创建(推荐的方式)
        struts.xml的Action编写ID值
        配置成多例的(不能忘)
        手动注入service
3、Spring框架整合Hiebrnate框架
    带有hibernate.cfg.xml配置文件
        需要使用LocalSessionFactoryBean对象来加载hibernate.cfg.xml配置文件,生成SessionFactory对象
    不带有hibernate.cfg.xml配置文件
        使用LocalSessionFactoryBean对象来加载
4、HibernateTemplate模版类的简单的使用
    Spring框架提供HibernateTemplate类,方便开发
    以后再编写Dao层,都可以继承HibernateDaoSupport类(父类:提供HibernateTemplate,如果不想注入HibernateTemplate,可以注入SessionFactory)
5、解决延迟加载的问题
    解决了2个问题(一是jar冲突的问题,二是no session的异常)
    解决的方案
        在web.xml中配置过滤器OpenSessionViewFilter
    做ssh框架的整合的时候,直接拷贝Web.xml即可

svn的概述
1、概述
    SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,采用了分支管理系统,设计的目标是取代CVS
    互联网上很多版本控制服务已从CVS迁移到subversion
    简单说SVN就是用于多个人共同开发同一个项目,公用资源的目的
    解决团队开发中的代码管理的问题

2、如果没有svn,会遇到的问题
    代码管理混乱
    备份多个版本,占用磁盘空间大
    解决代码冲突困难
    容易引发BUG
    难以追溯问题代码的修改人和修改时间
    难以恢复至以前正确的版本
    无法进行权限控制
    项目版本发布困难

    使用SVN可以管理上述的一类问题

3、简单的术语
    仓库
    提交
    检出/更新
4、常用的版本的控制工具
    vss(微软)、cvs、svn、git(安卓常用)

svn的体系结构
1、体系结构
    SVN的仓库
        DB      使用数据库作为SVN的仓库
        FSFS    使用系统文件方式作为SVN的仓库
    SVN仓库的访问(SVN的服务器)
        整合Apache形式:http协议访问数据库
        svnserve的方式,使用命令开启svn的服务,使用svn的协议访问
    svn的客户端
        命令行访问
        图形化界面

svn的安装
1、双击Setup-Subversion-xxxx.msi文件,注意自己的安装路径,next接口
    安装完成后,打开DOS窗口,输入svnadmin --version回车,查看是否安装成功
    如果发现不成功,拷贝自己的安装路径+\bin,到环境变量的path配置一下就行
2、安装后的目录结构
    bin     可执行的二进制文件
    iconv   字符集编码的文件
    license 许可证协议
    share   本地语言转换

svn的仓库的创建(必须要先创建仓库,才能启动svn服务)
1、svn安装完成后,下面创建svn的仓库
    在某一个盘下创建文件夹,随意创建,例如:在D盘下创建Repositories文件,一个仓库可以存放多个项目,在Repositories文件夹中再创建多个子文件夹,代表不同的项目
2、可以使用命令的方式或者图形化界面的方式来创建
    命令的方式:svnadmin create d:\Repositories\crm
3、仓库创建好后,有如下的一些目录结构
    conf    配置文件(重点的配置文件)
        svnserve.conf       svn的配置文件
        passwd              用户名好密码的文件
        authz               权限认证的文件
    db      版本数据存储目录
    hooks   存放本班库勾子目录
    locks   存储库锁目录,用来跟踪库的访问者

4、启动仓库
    启动仓库分成两种主要形式
        单仓库启动(只启动其中的一个仓库)
        多仓库启动(启动所有的仓库)

    启动仓库的方式有三种
        命令行启动
            单仓库启动
                svnserve -d -r D:\Repositories\crm
            多仓库启动
                svnserve -d -r D:\Repositories
        使用批处理文件的方式启动,先创建一个批处理的文件(.bat后缀),在该文件中复制如下命令
            单仓库启动
                svnserve -d -r D:\Repositories\crm
            多仓库启动
                svnserve -d -r D:\Repositories          
        在系统上注册服务的方式,以后只要电脑一开机就自动启动了(每个等号后面都得加空格不然创建不了 会出现创建的格式)

            命令:sc create SVN-Service binPath= "D:\svn\bin\svnserve.exe --service -r D:\Repositories" displayname= "SVN-Service" start= auto depend= Tcpip

                注意修改的地方1:D:\svn\bin是自己的安装路径
                注意修改的地方2: D:\Repositories创建的路径(多仓库启动的方式)
3、总结:采用服务的方式启动仓库和删除服务
    目录:sc create SVN-Service binPath= "D:\svn\bin\svnserve.exe --service -r D:\Repositories" displayname= "SVN-Service" start= auto depend= Tcpip
    删除服务: sc delete SVN-Service

安装图形化界面的工具
1、在可视化工具文件夹中选择自己电脑的版本的安装软件,双击安装
    TortoiseSVN-1.7.12.24070-x64-svn-1.7.9.msi安装
2、安装完成图形界面后,可以使用图形界面的方式创建仓库
3、安装后重启电脑

图形化界面的使用
1、模拟两个人同时是有那个SVN的环境,使用图形界面进行文件的提交和更新操作
2、简单的操作
    选择svn checkout      检出(第一次都需要检出资料,和svn的服务器取得同步)
    svn的默认端口号是3690,使用协议:svn://localhost:3690/crm来检出内容
    创建文件,出现一个蓝色的?号,说明该文件还没有被svn所管理,需要手动添加该文件,点击add完成添加
    出现蓝色的*号,说明已经被svn管理了,但是没有与svn服务器同步
    选中,右键点击提交,就可以与svn同步了

3、如果没有提交成功,说明现在是没有权限的,可以先设置简单的权限
    简单的设置权限
        打开crm的仓库
        找到仓库:conf/svnserve.conf
            anon-access=write 匿名用户可读,可写
4、其他人就可以来更新代码了

设置权限
1、找仓库中的conf/svnserve.conf
2、修改配置文件
    anno-access=none        匿名用户没有权限(取值:none/read/writer)
    auth-access=writer      认证用户有读写权限
    password-db=passwd      让passwd的文件生效
    authz-db=authz          让authz的文件生效

3、打开passwd文件,设置用户名和密码
    xx=123
    yy=123  
4、打开authz文件,设置用户的权限
    [groups]
    crmGroup=xx,yy
    [/]     --全路径
    @crmGroup=rw
    *=      --其他的

解决代码冲突问题
1、两个人都修改了同一个文件,然后一个先提交了,后提交的用户就会产生冲突
2、后提交的人需要来解决冲突
    先更新,然后删除掉多余的内容
    再重新提交

锁机制
1、右键,先择get lock 加锁,提交后默认就解锁了
2、可以选择仓库,释放锁

cmd中 ipconfig看ip地址
Eclipse中安装svn插件
1、在Eclipse中安装svn的插件
    先退出eclipse
    下载eclipse_svn_site-xxx.zip
        解压
            features
            plugins
    创建一个文件夹svn,将两个文件夹copy到svn路径下
    打开eclipse安装路径
        eclipse\dropins
    将svn的文件夹copy到dropins路径
    重新启动Eclipse

这里写图片描述
这里写图片描述
这里写图片描述

阅读更多
个人分类: ssh
上一篇SpringDay04(ssh配置文件 整合ssh 延迟加载问题)
下一篇SSHDay02(MD5Utils PageBean)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭