zoukankan      html  css  js  c++  java
  • Spring day04笔记(SVN讲解和回顾昨天知识)

    1. spring day03回顾

      1. 事务管理

    • 基于xml配置

    1.配置事务管理器

    jdbc:DataSourceTransactionManager

    hibernate:HibernateTransactionManager

    2.事务通知(详情、属性)

    <tx:advice id="" transaction-manager="">

    <tx:attributes>

    <tx:method name="add*">

    <tx:method name="update*">

    <tx:method name="delete*">

    <tx:method name="find* read-only="true">

     

    3. AOP编程,ABCD--> ABC

    <aop:config>

    <aop:advisor advice-ref="txAdvice" pointcut="execution(* com..*.*(..))">

     

    • 基于注解

    xml 配置

    1.事务管理器

     

    2.将配置事务管理器交予spring

    <tx:annotation-driven transaction-manager="....">

     

     

    目标类

    @Transactional 类 | 方法

     

    1. 整合Junit

    @RunWith(SpringJunit4RnnerClass.class)

    @ContextConfiguration(locations="classpath:...xml")

     

    @Autowired 注入

     

    @Test 测试

     

    1. 整合web

    web.xml 配置

    1.确定xml位置

        <context-param>

            name:contextConfigLocation

            value:classpath:...xml

    2.加载xml文件,配置监听器

        ContextLoaderListener

     

    1. 整合

    1. hibernate po (domain、bean)

    2.dao层:

        需要HibernateTemplate 相当于session操作PO类 --> 必须提供setter方法,让spring注入,xml配置模板

            save() update delete saveOrUpdate find

        继承HibernateDaoSupport,需要注入SessionFactory,底层自动创建模板

            dao方法中 this.getHibernateTemplate()

    3.service 层,spring配置

        properties <context:property-placeholder location>

        配置数据源:ComboPooledDataSource

        配置SessionFactory:LocalSessionFactoryBean

        事务管理

    4.web层 ,aciton

        struts.xml <action name="" class="全限定类名"> 前面看到一位struts,底层使用spring

        默认与spring整合之后,按照【名称】自动注入

     

     

    spring day04 -- spring day07 ,案例(小项目)

    day04: SVN 、搭建环境(完成PO类)

    day05: 基本功能(struts拦截器、hibernate关联获取)

    day06: 复杂操作(查询+分页+条件、ajax级联操作)

    day07: 重写--工具 (BaseDao、BaseAction)

     

    1. SVN

      1. 版本控制

        1. 什么版本控制

    • 版本控制(Revision Control):是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。也是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。

     

    1. 版本控制软件

    • CVS(Concurrent Versions System)代表协作版本系统或者并发版本系统,是一种版本控制系统,方便软件的开发和使用者协同工作。
    • VSS ( Visual Source Safe )只能在windows下,作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责项目文件的管理
    • Git是用于Linux内核开发的版本控制工具。它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linux kernel这样的大项目来说自然很重要。Git最为出色的是它的合并跟踪(merge tracing)能力。

        www.github.org

    。。。。。。

    • SVN(Subversion ),是一个开放源代码的版本控制系统,采用了分支管理系统,它的设计目标就是取代CVS。

     

    1. SVN特点

    • 统一的版本号。CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相同。而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。
    • 原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。
    • 重命名、复制、删除文件等动作都保存在版本历史记录当中。
    • 对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处)
    • 目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。
    • 分支的开销非常小。
    • 优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。
    • 支持元数据(Metadata)管理。每个目录或文件都可以定义属性(Property),它是一些隐藏的键值对,用户可以自定义属性内容,而且属性和文件内容一样在版本控制范围内。
    • 支持FSFS和Berkeley DB两种资料库格式。
    • 不足:只能设置目录的访问权限,无法设置单个文件的访问权限。

     

    1. 体系结构

     

    1. 安装

     

    • 测试安装

        

    • 检查path系统环境变量

        

     

     

    1. 创建仓库

    • 格式:cmd> svnadmin create 路径

     

    • 仓库目录结构

        

    • 注意:创建仓库时,目录必须是空的 ,及新建文件夹

     

    1. 启动

    • 格式:cmd> svnserve -d -r 仓库的路径

        -d后台执行

        -r版本库的根目录

     

    启动时,指定"仓库路径"不同,分类:多仓库和单仓库

     

    • 多仓库【掌握】

        

        启动:svnserve -d -r 仓库父目录 ,表示启动时多仓库

        例如:svnserve -d -r G: epositorysvn

        访问:svn://localhost:3690/bbs

    • 单仓库

        

        启动:svnserve -d -r 仓库的根 ,表示启动时单仓库

        例如:svnserve -d -r G: epositorysvnbs

        访问:svn://localhost:3690

     

    • 将操作注册成操作系统的"服务",开机启动。

    1."运行",services.msc 打开"服务"

    2. 删除"服务"

        

    3. 注册"服务"

        

    sc create svn binpath= "D:javaSubversioninsvnserve.exe --service -r G: epositorysvn" displayname= "SVN-Service" start= auto depend= Tcpip

    4. 启动或停止"服务"

        

     

    1. 操作【掌握 思想】

     

    1. checkout

    • 格式:svn checkout 服务器地址 下载地址

        

     

    1. commit

    • 格式:svn commit 资源

     

    问题1:没有纳入版本控制

        

        使用add子命令 添加到本地版本库

        

    问题2:没有编写日志

        

        采用 -m 参数设置日志信息

        

    问题3:没有权限

        

        修改权限,设置匿名访问

            G: epositorysvnbsconfsvnserve.conf

        

     

    1. update

    • 格式: svn update

     

     

     

    1. 图形化:TortoiseSVN 安装

    • 安装成功之后,所有的操作都是"右键"

     

    1. svn权限

    • 权限需要3个配置文件

        

    • svnserve.conf

        开启认证

            

        确定账号配置文件位置

            

        确定认证配置文件位置

            

    • passwd 账号配置 (一行一个账号,账号用户名和密码组成,使用等号分隔)

        

    • authz 认证配置文件

        配置组 , 格式:组名 = 用户1 ,用户2,....

            

        认证细节配置

            多仓库

                [bbs:/]             --> 确定仓库名称 。[bbs:/doc] 给bbs仓库的doc目录配置权限

                @itheima = rw    --> 给itheima组设置权限。

                                    read ('r') ,read-write ('rw') ,or no access ('').

                user3 = r            --> 给user3 指定权限

                *=                --> 其他用户没有权限

                

            单仓库

                [/]                -->单仓库的根 [/doc] 单仓库doc目录

                

     

    1. TortoiseSVN 常见图标

     

    1. myeclipse svn 插件

      1. 安装插件

            如果3个都不能使用,直接换eclipse

     

    • 安装方式1:直接复制

        

        eclipse插件规范

            eclipse 目录

                | -- features目录

                | -- plugins 目录

    • 方式2:使用link文件

        将插件解压到任意目录(不含中文、空格),在myeclipse/dropins目录添加一个link文件

            文件名:自定义

            文件扩展名:link

            文件内容:

                path = 插件完整目录,需要指定到eclipse,即可以看到(features 、 plugins)

                例如:

                    path=D:\java\MyEclipse\MyEclipse 10\svn\eclipse

                    path=D:/java/MyEclipse/MyEclipse 10/svn/eclipse

    • 方式3:在线安装

     

    • 安装成功标志

        

     

    1. 操作

     

     

    1. svn目录规范

     

     

    trunk ,主线,用于存放程序整个进度

    branches ,分支,例如:bug修复、特殊功能等

    tags,标签(版本),此目录下的内容不能修改

  • 相关阅读:
    Oracle 基本命令
    一个完整的创建用户,创建表空间,授权建表过程
    jQueryMobile之Popup
    data-theme 几种值的样式
    jQueryMobile之listview
    jQueryMobile之弹出对话框
    android EditText内嵌图片
    css 盒子模型
    kms可用激活服务器地址|kms可用激活服务器分享
    本地配置DNS服务器(MAC版)
  • 原文地址:https://www.cnblogs.com/Prozhu/p/5931222.html
Copyright © 2011-2022 走看看