Spring day04笔记(SVN讲解和回顾昨天知识)

  1. spring day03回顾

    1. 事务管理

  • 基于xml配置

1.配置事务管理器 java

jdbc:DataSourceTransactionManager git

hibernate:HibernateTransactionManager github

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

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

<tx:attributes> spring

<tx:method name="add*"> 数据库

<tx:method name="update*"> 编程

<tx:method name="delete*"> windows

<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:\repository\svn

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

  • 单仓库

    

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

    例如:svnserve -d -r G:\repository\svn\bbs

    访问:svn://localhost:3690

 

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

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

2. 删除"服务"

    

3. 注册"服务"

    

sc create svn binpath= "D:\java\Subversion\bin\svnserve.exe --service -r G:\repository\svn" displayname= "SVN-Service" start= auto depend= Tcpip

4. 启动或中止"服务"

    

 

  1. 操做【掌握 思想】

 

  1. checkout

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

    

 

  1. commit

  • 格式:svn commit 资源

 

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

    

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

    

问题2:没有编写日志

    

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

    

问题3:没有权限

    

    修改权限,设置匿名访问

        G:\repository\svn\bbs\conf\svnserve.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,标签(版本),此目录下的内容不能修改

相关文章
相关标签/搜索